cross-plat-dev-utils/patch-files/diffs/patch-0f5e3a7fb6af.patch
changeset 18 de5b887c98f7
parent 14 eb060913c963
child 19 d2fccb2bbe1a
equal deleted inserted replaced
14:eb060913c963 18:de5b887c98f7
   334  
   334  
   335  /**
   335  /**
   336  Destructor for E32ExportTable class.
   336  Destructor for E32ExportTable class.
   337 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/e32imagefile.cpp /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/e32imagefile.cpp
   337 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/e32imagefile.cpp /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/e32imagefile.cpp
   338 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/e32imagefile.cpp	2010-05-18 19:32:30.877348862 +0100
   338 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/e32imagefile.cpp	2010-05-18 19:32:30.877348862 +0100
   339 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/e32imagefile.cpp	2010-05-15 14:32:45.000000000 +0100
   339 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/e32imagefile.cpp	2010-05-21 08:06:04.801225978 +0100
   340 @@ -21,6 +21,7 @@
   340 @@ -21,6 +21,7 @@
   341  
   341  
   342  // get E32ImageHeader class...
   342  // get E32ImageHeader class...
   343  #define INCLUDE_E32IMAGEHEADER_IMPLEMENTATION
   343  #define INCLUDE_E32IMAGEHEADER_IMPLEMENTATION
   344 +#include <cstdio>
   344 +#include <cstdio>
   509  
   509  
   510  using std::endl;
   510  using std::endl;
   511  using std::cout;
   511  using std::cout;
   512 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/parametermanager.cpp /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/parametermanager.cpp
   512 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/parametermanager.cpp /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/parametermanager.cpp
   513 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/parametermanager.cpp	2010-05-18 19:32:30.889348502 +0100
   513 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/parametermanager.cpp	2010-05-18 19:32:30.889348502 +0100
   514 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/parametermanager.cpp	2010-05-15 16:38:48.000000000 +0100
   514 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/parametermanager.cpp	2010-06-04 12:41:24.559881231 +0100
   515 @@ -25,6 +25,7 @@
   515 @@ -25,6 +25,7 @@
   516  #include "parametermanager.h"
   516  #include "parametermanager.h"
   517  #include "errorhandler.h"
   517  #include "errorhandler.h"
   518  #include <iostream>
   518  #include <iostream>
   519 +#include <cstdlib>
   519 +#include <cstdlib>
   547  
   547  
   548  		b = e;
   548  		b = e;
   549  		
   549  		
   550 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/parametermanager.h /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/parametermanager.h
   550 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/parametermanager.h /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/parametermanager.h
   551 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/parametermanager.h	2010-05-18 19:32:30.889348502 +0100
   551 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/parametermanager.h	2010-05-18 19:32:30.889348502 +0100
   552 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/parametermanager.h	2010-05-15 14:32:45.000000000 +0100
   552 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/parametermanager.h	2010-06-04 12:41:24.576355460 +0100
   553 @@ -81,7 +81,7 @@
   553 @@ -81,7 +81,7 @@
   554  	typedef std::map<string, const OptionDesc *, OptionCompare> OptionMap;
   554  	typedef std::map<string, const OptionDesc *, OptionCompare> OptionMap;
   555  	typedef vector<char *> LibSearchPaths;
   555  	typedef vector<char *> LibSearchPaths;
   556  
   556  
   557 -	typedef void (*ParserFn)(ParameterManager *, char *, char *, const OptionDesc *);
   557 -	typedef void (*ParserFn)(ParameterManager *, char *, char *, const OptionDesc *);
  2920  #endif
  2920  #endif
  2921  		if(status == EFalse)
  2921  		if(status == EFalse)
  2922  			break;
  2922  			break;
  2923 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/cpp-raptor/group/exports.inf /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/cpp-raptor/group/exports.inf
  2923 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/cpp-raptor/group/exports.inf /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/cpp-raptor/group/exports.inf
  2924 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/cpp-raptor/group/exports.inf	2010-05-18 19:32:31.900848497 +0100
  2924 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/cpp-raptor/group/exports.inf	2010-05-18 19:32:31.900848497 +0100
  2925 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/cpp-raptor/group/exports.inf	2010-05-17 19:43:29.133345451 +0100
  2925 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/cpp-raptor/group/exports.inf	2010-06-04 12:39:35.436355000 +0100
  2926 @@ -15,6 +15,6 @@
  2926 @@ -15,6 +15,6 @@
  2927  *
  2927  *
  2928  */
  2928  */
  2929  
  2929  
  2930 -../win32/bin/cpp.exe /tools/sbs/win32/bv/bin/cpp.exe
  2930 -../win32/bin/cpp.exe /tools/sbs/win32/bv/bin/cpp.exe
  2931 -../win32/i686-pc-mingw32/bin/cc1.exe /tools/sbs/win32/bv/i686-pc-mingw32/bin/cc1.exe
  2931 -../win32/i686-pc-mingw32/bin/cc1.exe /tools/sbs/win32/bv/i686-pc-mingw32/bin/cc1.exe
  2932 -../win32/i686-pc-mingw32/bin/libiconv-2.dll /tools/sbs/win32/bv/i686-pc-mingw32/bin/libiconv-2.dll
  2932 -../win32/i686-pc-mingw32/bin/libiconv-2.dll /tools/sbs/win32/bv/i686-pc-mingw32/bin/libiconv-2.dll
  2933 +../win32/bin/cpp.exe ../../tools/sbs/win32/bv/bin/cpp.exe
  2933 +../win32/bin/cpp.exe ../../tools/sbs/win32/bv/bin/cpp.exe
  2934 +../win32/i686-pc-mingw32/bin/cc1.exe ../../tools/sbs/win32/bv/i686-pc-mingw32/bin/cc1.exe
  2934 +../win32/i686-pc-mingw32/bin/cc1.exe ../../tools/sbs/win32/bv/i686-pc-mingw32/bin/cc1.exe
  2935 +../win32/i686-pc-mingw32/bin/libiconv-2.dll ../../tools/sbs/win32/bv/i686-pc-mingw32/bin/libiconv-2.dll
  2935 +../win32/i686-pc-mingw32/bin/libiconv-2.dll ../../tools/sbs/win32/bv/i686-pc-mingw32/bin/libiconv-2.dll
       
  2936 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: depcrunch.py
  2936 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: recipestats.py
  2937 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: recipestats.py
  2937 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/bin/sbs /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin/sbs
  2938 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/bin/sbs /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin/sbs
  2938 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/bin/sbs	2010-05-18 19:32:34.709348670 +0100
  2939 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/bin/sbs	2010-05-18 19:32:34.709348670 +0100
  2939 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin/sbs	2010-05-17 18:47:53.024843000 +0100
  2940 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin/sbs	2010-06-04 12:09:24.955849000 +0100
  2940 @@ -1,5 +1,5 @@
  2941 @@ -1,5 +1,5 @@
  2941  #!/bin/bash
  2942  #!/bin/bash
  2942 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  2943 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  2943 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  2944 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  2944  # All rights reserved.
  2945  # All rights reserved.
  3010  	PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/bin:$SBS_HOME/$HOSTPLATFORM_DIR/bin:$PATH
  3011  	PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/bin:$SBS_HOME/$HOSTPLATFORM_DIR/bin:$PATH
  3011  	LD_LIBRARY_PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/lib:$SBS_HOME/$HOSTPLATFORM_DIR/bv/lib:$LD_LIBRARY_PATH
  3012  	LD_LIBRARY_PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/lib:$SBS_HOME/$HOSTPLATFORM_DIR/bv/lib:$LD_LIBRARY_PATH
  3012  
  3013  
  3013 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/bin/sbs.bat /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin/sbs.bat
  3014 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/bin/sbs.bat /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin/sbs.bat
  3014 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/bin/sbs.bat	2010-05-18 19:32:34.709348670 +0100
  3015 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/bin/sbs.bat	2010-05-18 19:32:34.709348670 +0100
  3015 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin/sbs.bat	2010-05-17 18:47:53.024843000 +0100
  3016 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin/sbs.bat	2010-06-04 12:09:24.955849000 +0100
  3016 @@ -1,5 +1,5 @@
  3017 @@ -1,5 +1,5 @@
  3017  @rem
  3018  @rem
  3018 -@rem Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
  3019 -@rem Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
  3019 +@rem Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
  3020 +@rem Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
  3020  @rem All rights reserved.
  3021  @rem All rights reserved.
  3069 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: sbs_env.bat
  3070 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: sbs_env.bat
  3070 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: sbs_filter
  3071 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: sbs_filter
  3071 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: sbs_filter.bat
  3072 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: sbs_filter.bat
  3072 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: sbs_filter.py
  3073 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: sbs_filter.py
  3073 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: timelines.py
  3074 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: timelines.py
       
  3075 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/examples/os_properties.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/examples/os_properties.xml
       
  3076 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/examples/os_properties.xml	2010-05-18 19:32:34.713348619 +0100
       
  3077 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/examples/os_properties.xml	2010-06-04 12:09:24.959850000 +0100
       
  3078 @@ -18,6 +18,7 @@
       
  3079  		<set name='POSTLINKER_SUPPORTS_WDP' value=''/>
       
  3080  		<set name='SUPPORTS_STDCPP_NEWLIB' value=''/>
       
  3081  		<set name='RVCT_PRE_INCLUDE' value='$(EPOCINCLUDE)/rvct2_2/rvct2_2.h'/>
       
  3082 +		<set name="SUPPORTS_ABIV1_IMPLIBS" value='1'/>
       
  3083  	</var>
       
  3084  	
       
  3085  </build>
  3074 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/group/exports.inf /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/group/exports.inf
  3086 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/group/exports.inf /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/group/exports.inf
  3075 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/group/exports.inf	2010-05-18 19:32:34.713348619 +0100
  3087 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/group/exports.inf	2010-05-18 19:32:34.713348619 +0100
  3076 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/group/exports.inf	2010-05-09 13:36:29.473288000 +0100
  3088 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/group/exports.inf	2010-05-09 13:36:29.473288000 +0100
  3077 @@ -15,209 +15,209 @@
  3089 @@ -15,209 +15,209 @@
  3078  *
  3090  *
  3490 +../win32/bin/sbs_descramble.exe ../../tools/sbs/win32/bin/sbs_descramble.exe
  3502 +../win32/bin/sbs_descramble.exe ../../tools/sbs/win32/bin/sbs_descramble.exe
  3491 +../win32/bin/talonctl.exe ../../tools/sbs/win32/bin/talonctl.exe
  3503 +../win32/bin/talonctl.exe ../../tools/sbs/win32/bin/talonctl.exe
  3492 +../win32/bin/talon.exe ../../tools/sbs/win32/bin/talon.exe
  3504 +../win32/bin/talon.exe ../../tools/sbs/win32/bin/talon.exe
  3493 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/arm.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/arm.xml
  3505 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/arm.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/arm.xml
  3494 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/arm.xml	2010-05-18 19:32:34.717348918 +0100
  3506 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/arm.xml	2010-05-18 19:32:34.717348918 +0100
  3495 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/arm.xml	2010-05-17 18:47:53.028843000 +0100
  3507 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/arm.xml	2010-06-04 12:09:24.959850000 +0100
  3496 @@ -1,51 +1,62 @@
  3508 @@ -1,51 +1,62 @@
  3497  <?xml version="1.0" encoding="ISO-8859-1"?>
  3509  <?xml version="1.0" encoding="ISO-8859-1"?>
  3498  <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">
  3510  <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">
  3499 -	<!-- build configurations for ARM compilers -->
  3511 -	<!-- build configurations for ARM compilers -->
  3500 +	<!-- build variants for ARM toolchain builds -->
  3512 +	<!-- build variants for ARM toolchain builds -->
  3570  		<set name="SID" value=""/>
  3582  		<set name="SID" value=""/>
  3571 -		<set name="EPOCSTACKSIZE" value=""/>
  3583 -		<set name="EPOCSTACKSIZE" value=""/>
  3572  		<set name="STATIC_LIBRARY_DIR" value="$(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)"/>
  3584  		<set name="STATIC_LIBRARY_DIR" value="$(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)"/>
  3573  		<set name="STATIC_RUNTIME_DIR" value="$(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)"/>
  3585  		<set name="STATIC_RUNTIME_DIR" value="$(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)"/>
  3574  		<set name="SYMBIAN_CC_MESSAGE_OPTION" value="$(CC_WARNINGS_CONTROL_OPTION) $(CC_ERRORS_CONTROL_OPTION)"/>
  3586  		<set name="SYMBIAN_CC_MESSAGE_OPTION" value="$(CC_WARNINGS_CONTROL_OPTION) $(CC_ERRORS_CONTROL_OPTION)"/>
  3575 @@ -58,22 +69,16 @@
  3587 @@ -58,23 +69,16 @@
  3576  		<set name="TARGET" value=""/>
  3588  		<set name="TARGET" value=""/>
  3577  		<set name="UNIX_SLASH_FOR_CC_ABS_PATHS" value="0"/>
  3589  		<set name="UNIX_SLASH_FOR_CC_ABS_PATHS" value="0"/>
  3578  		<set name="UNRESOLVED_SYMBOL_REF_OPTION" value=""/>
  3590  		<set name="UNRESOLVED_SYMBOL_REF_OPTION" value=""/>
  3579 -		<set name="DUMPBCINFO" value=""/>
  3591 -		<set name="DUMPBCINFO" value=""/>
  3580 -		<set name="MAKEDEFFILE" value="1"/>
  3592 -		<set name="MAKEDEFFILE" value="1"/>
  3591 -		<set name="PLATMACROS.CONFIG" value=""/>
  3603 -		<set name="PLATMACROS.CONFIG" value=""/>
  3592  		<set name="DEBUG_FORMAT" value="$(CC.DWARF2)"/>
  3604  		<set name="DEBUG_FORMAT" value="$(CC.DWARF2)"/>
  3593  		<set name="TARGET_ARCH_OPTION" value="$(CC.ARMV5)"/>
  3605  		<set name="TARGET_ARCH_OPTION" value="$(CC.ARMV5)"/>
  3594  		<set name="LINKER_ARCH_OPTION" value="$(LD.ARMV5)"/>
  3606  		<set name="LINKER_ARCH_OPTION" value="$(LD.ARMV5)"/>
  3595 -		<set name="ARMFPU" value="$(CC.SOFTVFP_MAYBE_VFPV2)"/>
  3607 -		<set name="ARMFPU" value="$(CC.SOFTVFP_MAYBE_VFPV2)"/>
       
  3608 -		<set name="GENERATE_ABIV1_IMPLIBS" value="$(SUPPORTS_ABIV1_IMPLIBS)"/>
  3596 +		<set name="COMPILER_FPU_DEFAULT" value="$(CC.SOFTVFP_MAYBE_VFPV2)"/>
  3609 +		<set name="COMPILER_FPU_DEFAULT" value="$(CC.SOFTVFP_MAYBE_VFPV2)"/>
  3597 +		<set name="POSTLINKER_FPU_DEFAULT" value="$(PL.SOFTVFP_MAYBE_VFPV2)"/>
  3610 +		<set name="POSTLINKER_FPU_DEFAULT" value="$(PL.SOFTVFP_MAYBE_VFPV2)"/>
  3598  		<set name="GENERATE_ABIV1_IMPLIBS" value="$(SUPPORTS_ABIV1_IMPLIBS)"/>
       
  3599  	</var>
  3611  	</var>
  3600  	<var name="v6">
  3612  	<var name="v6">
  3601 @@ -85,7 +90,8 @@
  3613  		<set name="TRADITIONAL_PLATFORM" value="ARMV6"/>
       
  3614 @@ -85,7 +89,9 @@
  3602  		<set name="TARGET_ARCH_OPTION" value="$(CC.ARMV6)"/>
  3615  		<set name="TARGET_ARCH_OPTION" value="$(CC.ARMV6)"/>
  3603  		<set name="LINKER_ARCH_OPTION" value="$(LD.ARMV6)"/>
  3616  		<set name="LINKER_ARCH_OPTION" value="$(LD.ARMV6)"/>
  3604  		<set name="STATIC_RUNTIME_DIR" value="$(EPOCROOT)/epoc32/release/armv5/$(VARIANTTYPE)"/>
  3617  		<set name="STATIC_RUNTIME_DIR" value="$(EPOCROOT)/epoc32/release/armv5/$(VARIANTTYPE)"/>
  3605 -		<set name="ARMFPU" value="$(CC.SOFTVFP_MAYBE_VFPV2)"/>
  3618 -		<set name="ARMFPU" value="$(CC.SOFTVFP_MAYBE_VFPV2)"/>
  3606 +		<set name="COMPILER_FPU_DEFAULT" value="$(CC.SOFTVFP_MAYBE_VFPV2)"/>
  3619 +		<set name="COMPILER_FPU_DEFAULT" value="$(CC.SOFTVFP_MAYBE_VFPV2)"/>
  3607 +		<set name="POSTLINKER_FPU_DEFAULT" value="$(PL.SOFTVFP_MAYBE_VFPV2)"/>
  3620 +		<set name="POSTLINKER_FPU_DEFAULT" value="$(PL.SOFTVFP_MAYBE_VFPV2)"/>
       
  3621 +		<set name="SUPPORTS_ABIV1_IMPLIBS" value=""/>
  3608  	</var>
  3622  	</var>
  3609  	<var name="v7">
  3623  	<var name="v7">
  3610  		<set name="TRADITIONAL_PLATFORM" value="ARMV7"/>
  3624  		<set name="TRADITIONAL_PLATFORM" value="ARMV7"/>
  3611 @@ -95,7 +101,8 @@
  3625 @@ -95,7 +101,9 @@
  3612  		<set name="DEBUG_FORMAT" value="$(CC.DWARF3)"/>
  3626  		<set name="DEBUG_FORMAT" value="$(CC.DWARF3)"/>
  3613  		<set name="TARGET_ARCH_OPTION" value="$(CC.ARMV7)"/>
  3627  		<set name="TARGET_ARCH_OPTION" value="$(CC.ARMV7)"/>
  3614  		<set name="LINKER_ARCH_OPTION" value="$(LD.ARMV7)"/>
  3628  		<set name="LINKER_ARCH_OPTION" value="$(LD.ARMV7)"/>
  3615 -		<set name="ARMFPU" value="$(CC.SOFTVFP_MAYBE_VFPV3)"/>
  3629 -		<set name="ARMFPU" value="$(CC.SOFTVFP_MAYBE_VFPV3)"/>
  3616 +		<set name="COMPILER_FPU_DEFAULT" value="$(CC.SOFTVFP_MAYBE_VFPV3)"/>
  3630 +		<set name="COMPILER_FPU_DEFAULT" value="$(CC.SOFTVFP_MAYBE_VFPV3)"/>
  3617 +		<set name="POSTLINKER_FPU_DEFAULT" value="$(PL.SOFTVFP_MAYBE_VFPV3)"/>
  3631 +		<set name="POSTLINKER_FPU_DEFAULT" value="$(PL.SOFTVFP_MAYBE_VFPV3)"/>
       
  3632 +		<set name="SUPPORTS_ABIV1_IMPLIBS" value=""/>
  3618  	</var>
  3633  	</var>
  3619  	<var name="9e" extends="v5">
  3634  	<var name="9e" extends="v5">
  3620  		<set name="VARIANTPLATFORM" value="arm9e"/>
  3635  		<set name="VARIANTPLATFORM" value="arm9e"/>
  3621 @@ -121,6 +128,9 @@
  3636 @@ -121,6 +129,9 @@
  3622  	<alias name="armv5_urel_gcce4_3_3" meaning="arm.v5.urel.gcce4_3_3"/>
  3637  	<alias name="armv5_urel_gcce4_3_3" meaning="arm.v5.urel.gcce4_3_3"/>
  3623  	<alias name="armv5_udeb_gcce4_3_3" meaning="arm.v5.udeb.gcce4_3_3"/>
  3638  	<alias name="armv5_udeb_gcce4_3_3" meaning="arm.v5.udeb.gcce4_3_3"/>
  3624  	
  3639  	
  3625 +	<alias name="armv5_urel_gcce4_4_1" meaning="arm.v5.urel.gcce4_4_1"/>
  3640 +	<alias name="armv5_urel_gcce4_4_1" meaning="arm.v5.urel.gcce4_4_1"/>
  3626 +	<alias name="armv5_udeb_gcce4_4_1" meaning="arm.v5.udeb.gcce4_4_1"/>
  3641 +	<alias name="armv5_udeb_gcce4_4_1" meaning="arm.v5.udeb.gcce4_4_1"/>
  3627 +	
  3642 +	
  3628  	<alias name="armv6_urel" meaning="arm.v6.urel.rvct2_2"/>
  3643  	<alias name="armv6_urel" meaning="arm.v6.urel.rvct2_2"/>
  3629  	<alias name="armv6_udeb" meaning="arm.v6.udeb.rvct2_2"/>
  3644  	<alias name="armv6_udeb" meaning="arm.v6.udeb.rvct2_2"/>
  3630  	<alias name="armv7_urel" meaning="arm.v7.urel.rvct3_1"/>
  3645  	<alias name="armv7_urel" meaning="arm.v7.urel.rvct3_1"/>
       
  3646 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/carbide.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/carbide.xml
       
  3647 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/carbide.xml	2010-05-18 19:32:34.717348918 +0100
       
  3648 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/carbide.xml	2010-06-04 12:09:24.963850000 +0100
       
  3649 @@ -27,6 +27,22 @@
       
  3650  			<config name="armv9e_urel"/>
       
  3651  			<config name="armv9e_udeb"/>
       
  3652  		</config>
       
  3653 +		<config name="armv5_gcce" abstract="true">
       
  3654 +			<config name="armv5_urel_gcce"/>
       
  3655 +			<config name="armv5_udeb_gcce"/>
       
  3656 +		</config>
       
  3657 +		<config name="armv6_gcce" abstract="true">
       
  3658 +			<config name="armv6_urel_gcce"/>
       
  3659 +			<config name="armv6_udeb_gcce"/>
       
  3660 +		</config>
       
  3661 +		<config name="armv7_gcce" abstract="true">
       
  3662 +			<config name="armv7_urel_gcce"/>
       
  3663 +			<config name="armv7_udeb_gcce"/>
       
  3664 +		</config>
       
  3665 +		<config name="armv9e_gcce" abstract="true">
       
  3666 +			<config name="armv9e_urel_gcce"/>
       
  3667 +			<config name="armv9e_udeb_gcce"/>
       
  3668 +		</config>
       
  3669  	</config>
       
  3670  
       
  3671  	<config name="winscw" abstract="true">
  3631 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/gcce.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gcce.xml
  3672 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/gcce.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gcce.xml
  3632 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/gcce.xml	2010-05-18 19:32:34.717348918 +0100
  3673 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/gcce.xml	2010-05-18 19:32:34.717348918 +0100
  3633 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gcce.xml	2010-05-17 18:47:53.032843000 +0100
  3674 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gcce.xml	2010-06-04 12:09:24.963850000 +0100
  3634 @@ -1,108 +1,128 @@
  3675 @@ -1,108 +1,128 @@
  3635  <?xml version="1.0" encoding="ISO-8859-1"?>
  3676  <?xml version="1.0" encoding="ISO-8859-1"?>
  3636  <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">
  3677  <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">
  3637 -	<!-- GCCE build variant for ARM compilers -->
  3678 -	<!-- GCCE build variant for ARM compilers -->
  3638 -	<!-- This is called gcce_base in case someone wants to use "gcce" as a configuration name -->
  3679 -	<!-- This is called gcce_base in case someone wants to use "gcce" as a configuration name -->
  3816 +		<append name="CDEFS" value="__GCCE__"/>
  3857 +		<append name="CDEFS" value="__GCCE__"/>
  3817  	</var>
  3858  	</var>
  3818  </build>
  3859  </build>
  3819 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/gcc.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gcc.xml
  3860 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/gcc.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gcc.xml
  3820 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/gcc.xml	2010-05-18 19:32:34.717348918 +0100
  3861 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/gcc.xml	2010-05-18 19:32:34.717348918 +0100
  3821 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gcc.xml	2010-05-17 19:30:38.665334296 +0100
  3862 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gcc.xml	2010-06-04 12:39:38.836352000 +0100
  3822 @@ -1,32 +1,32 @@
  3863 @@ -1,32 +1,32 @@
  3823  <?xml version="1.0" encoding="ISO-8859-1"?>
  3864  <?xml version="1.0" encoding="ISO-8859-1"?>
  3824  <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">
  3865  <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">
  3825 -
  3866 -
  3826 -	<!-- build configurations for GCC compilers -->
  3867 -	<!-- build configurations for GCC compilers -->
  3894  		<set name='LIBS' value=''/>
  3935  		<set name='LIBS' value=''/>
  3895  		<set name='LIBS.WIN32' value='$(LIBS)'/>
  3936  		<set name='LIBS.WIN32' value='$(LIBS)'/>
  3896  		<set name='LIBS.LINUX' value='$(LIBS) pthread'/>
  3937  		<set name='LIBS.LINUX' value='$(LIBS) pthread'/>
  3897 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/gccxml.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gccxml.xml
  3938 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/gccxml.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gccxml.xml
  3898 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/gccxml.xml	2010-05-18 19:32:34.717348918 +0100
  3939 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/gccxml.xml	2010-05-18 19:32:34.717348918 +0100
  3899 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gccxml.xml	2010-05-17 18:47:53.032843000 +0100
  3940 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gccxml.xml	2010-06-04 12:09:24.963850000 +0100
  3900 @@ -1,21 +1,20 @@
  3941 @@ -1,21 +1,20 @@
  3901  <?xml version="1.0" encoding="ISO-8859-1"?>
  3942  <?xml version="1.0" encoding="ISO-8859-1"?>
  3902  <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">
  3943  <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">
  3903 -	<!-- build configurations for the gccxml_cc1plus C++ language processor -->
  3944 -	<!-- build configurations for the gccxml_cc1plus C++ language processor -->
  3904 +	<!-- build variants for the gccxml_cc1plus C++ language processor -->
  3945 +	<!-- build variants for the gccxml_cc1plus C++ language processor -->
  3943  		<set name='RVCTBIN' value='$(RVCT22BIN)'/>
  3984  		<set name='RVCTBIN' value='$(RVCT22BIN)'/>
  3944  		<set name='RVCTINC' value='$(RVCT22INC)'/>
  3985  		<set name='RVCTINC' value='$(RVCT22INC)'/>
  3945  		<set name='RVCTLIB' value='$(RVCT22LIB)'/>
  3986  		<set name='RVCTLIB' value='$(RVCT22LIB)'/>
  3946 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/interfaces.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/interfaces.xml
  3987 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/interfaces.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/interfaces.xml
  3947 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/interfaces.xml	2010-05-18 19:32:34.717348918 +0100
  3988 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/interfaces.xml	2010-05-18 19:32:34.717348918 +0100
  3948 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/interfaces.xml	2010-05-17 18:47:53.032843000 +0100
  3989 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/interfaces.xml	2010-06-04 12:09:24.963850000 +0100
  3949 @@ -5,15 +5,17 @@
  3990 @@ -5,15 +5,17 @@
  3950  	<var name="default.interfaces">
  3991  	<var name="default.interfaces">
  3951  		<!-- interfaces corresponding to target types -->
  3992  		<!-- interfaces corresponding to target types -->
  3952  
  3993  
  3953 -		<set name="INTERFACE_TYPES" value="exe stdexe ext_makefile dll stddll lib stdlib export extension ani plugin textnotifier2 implib var var2 exexp kexe kdll kext klib ldd pdd pdl fsy resource none stringtable bitmap"/>
  3994 -		<set name="INTERFACE_TYPES" value="exe stdexe ext_makefile dll stddll lib stdlib export extension ani plugin textnotifier2 implib var var2 exexp kexe kdll kext klib ldd pdd pdl fsy resource none stringtable bitmap"/>
  3965  		<set name="INTERFACE.textnotifier2" value="Symbian.textnotifier2"/>
  4006  		<set name="INTERFACE.textnotifier2" value="Symbian.textnotifier2"/>
  3966  		<set name="INTERFACE.implib" value="Symbian.implib"/>
  4007  		<set name="INTERFACE.implib" value="Symbian.implib"/>
  3967  		<set name="INTERFACE.var" value="Symbian.var"/>
  4008  		<set name="INTERFACE.var" value="Symbian.var"/>
  3968 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/locations.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/locations.xml
  4009 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/locations.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/locations.xml
  3969 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/locations.xml	2010-05-18 19:32:34.717348918 +0100
  4010 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/locations.xml	2010-05-18 19:32:34.717348918 +0100
  3970 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/locations.xml	2010-05-17 18:47:53.032843000 +0100
  4011 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/locations.xml	2010-06-04 12:09:24.963850000 +0100
  3971 @@ -30,7 +30,7 @@
  4012 @@ -30,7 +30,7 @@
  3972  		<env name='SBS_GNUTOUCH' default='/bin/touch' type='tool'/>
  4013  		<env name='SBS_GNUTOUCH' default='/bin/touch' type='tool'/>
  3973  		<env name='SBS_GNUFIND' default='/usr/bin/find' type='tool'/>
  4014  		<env name='SBS_GNUFIND' default='/usr/bin/find' type='tool'/>
  3974  		<env name='SBS_GNUGREP' default='/bin/grep' type='tool'/>
  4015  		<env name='SBS_GNUGREP' default='/bin/grep' type='tool'/>
  3975 -		<env name='SBS_GNUSORT' default='/bin/sort' type='tool'/>
  4016 -		<env name='SBS_GNUSORT' default='/bin/sort' type='tool'/>
  3989  		<env name='EPOCROOT' default='' type='path'/>
  4030  		<env name='EPOCROOT' default='' type='path'/>
  3990 +		<env name='SBS_HOME' default='' type='path'/>
  4031 +		<env name='SBS_HOME' default='' type='path'/>
  3991  		<!-- Place where intermediate files are built -->
  4032  		<!-- Place where intermediate files are built -->
  3992  		<env name='SBS_BUILD_DIR' default='$(EPOCROOT)/epoc32/build' type='path'/>
  4033  		<env name='SBS_BUILD_DIR' default='$(EPOCROOT)/epoc32/build' type='path'/>
  3993  
  4034  
  3994 @@ -107,7 +108,7 @@
  4035 @@ -107,7 +108,8 @@
  3995  		<set name='BASE_USER_DEFAULT_PLATFORMS' value='ARMV5 ARMV7 WINSCW'/>
  4036  		<set name='BASE_USER_DEFAULT_PLATFORMS' value='ARMV5 ARMV7 WINSCW'/>
  3996  
  4037  
  3997  		<set name='BUILD_INCLUDE' value=''/>
  4038  		<set name='BUILD_INCLUDE' value=''/>
  3998 -		<set name='CREATEVMAP' value='$(PYTHON) $(SBS_HOME)/bin/createvmap.py' type='tool'/>
  4039 -		<set name='CREATEVMAP' value='$(PYTHON) $(SBS_HOME)/bin/createvmap.py' type='tool'/>
  3999 +		<set name='CREATEVMAP' value='$(PYTHON) $(SBS_HOME)/bin/createvmap.py' type='script'/>
  4040 +		<set name='CREATEVMAP' value='$(PYTHON) $(SBS_HOME)/bin/createvmap.py' type='script'/>
       
  4041 +		<set name='DEPCRUNCH' value='$(PYTHON) $(SBS_HOME)/bin/depcrunch.py' type='script'/>
  4000  		<set name='CREATEVMAPCPP' value='$(SBS_BVCPP)' type='tool'/>
  4042  		<set name='CREATEVMAPCPP' value='$(SBS_BVCPP)' type='tool'/>
  4001  		<set name='FEATURELISTFILES' value=''/>
  4043  		<set name='FEATURELISTFILES' value=''/>
  4002  		<set name='FEATUREVARIANTNAME' value=''/>
  4044  		<set name='FEATUREVARIANTNAME' value=''/>
  4003 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/make.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/make.xml
  4045 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/make.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/make.xml
  4004 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/make.xml	2010-05-18 19:32:34.717348918 +0100
  4046 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/make.xml	2010-05-18 19:32:34.717348918 +0100
  4005 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/make.xml	2010-05-17 18:47:53.032843000 +0100
  4047 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/make.xml	2010-06-04 12:09:24.963850000 +0100
  4006 @@ -47,6 +47,9 @@
  4048 @@ -13,6 +13,9 @@
       
  4049  		<set name='TALON_TIMEOUT' value='600000'/>
       
  4050  		<set name='TALON_DESCRAMBLE' value='1'/>
       
  4051  		
       
  4052 +		<!-- Work around for RVCT compile failures -->
       
  4053 +		<set name='DELETE_ON_FAILED_COMPILE' value='1'/>
       
  4054 +		
       
  4055  		<!-- Command-line for initialisation -->
       
  4056  		<set name="initialise" value=""/>
       
  4057  
       
  4058 @@ -47,9 +50,12 @@
  4007  
  4059  
  4008  		<!-- is the text output with -j buffered or scrambled? -->
  4060  		<!-- is the text output with -j buffered or scrambled? -->
  4009  		<set name="scrambled" value="true"/>
  4061  		<set name="scrambled" value="true"/>
  4010 +
  4062 +
  4011 +		<!-- workaround for damaged log output from emake -->
  4063 +		<!-- workaround for damaged log output from emake -->
  4012 +		<set name="copylogfromannofile" value="false"/>
  4064 +		<set name="copylogfromannofile" value="false"/>
  4013  	</var>
  4065  	</var>
  4014  	
  4066  	
  4015  	<alias name="make" meaning="make_engine"/>
  4067 -	<alias name="make" meaning="make_engine"/>
  4016 @@ -67,6 +70,9 @@
  4068 +	<alias name="make" meaning="make_engine" type="engine"/>
       
  4069  
       
  4070  	<!-- use the talon shell -->
       
  4071  	<var name="make_no_talon_engine" extends="make_engine">
       
  4072 @@ -57,7 +63,7 @@
       
  4073  	        <set name='USE_TALON' value=''/>
       
  4074  	</var>
       
  4075  
       
  4076 -	<alias name="make_no_talon" meaning="make_no_talon_engine"/>
       
  4077 +	<alias name="make_no_talon" meaning="make_no_talon_engine" type="engine"/>
       
  4078  
       
  4079  	<!-- other derived versions of GNU make -->
       
  4080  
       
  4081 @@ -67,9 +73,13 @@
  4017  		<set name="build" value="$(EMAKE) HAVE_ORDERONLY= -r"/>
  4082  		<set name="build" value="$(EMAKE) HAVE_ORDERONLY= -r"/>
  4018  		<set name="scrambled" value="false"/>
  4083  		<set name="scrambled" value="false"/>
  4019  		<set name='TALON_DESCRAMBLE' value=''/>
  4084  		<set name='TALON_DESCRAMBLE' value=''/>
       
  4085 +		<set name='DELETE_ON_FAILED_COMPILE' value=''/>
  4020 +
  4086 +
  4021 +		<!-- workaround for damaged log output from emake -->
  4087 +		<!-- workaround for damaged log output from emake -->
  4022 +		<set name="copylogfromannofile" value="true"/>
  4088 +		<set name="copylogfromannofile" value="true"/>
  4023  	</var>
  4089  	</var>
  4024  
  4090  
  4025  	<alias name="emake" meaning="emake_engine"/>
  4091 -	<alias name="emake" meaning="emake_engine"/>
       
  4092 +	<alias name="emake" meaning="emake_engine" type="engine"/>
       
  4093  	
       
  4094  	<!-- use the talon shell -->
       
  4095  	<var name="emake_no_talon_engine" extends="emake_engine">
       
  4096 @@ -77,7 +87,7 @@
       
  4097  	        <set name='USE_TALON' value=''/>
       
  4098  	</var>
       
  4099  
       
  4100 -	<alias name="emake_no_talon" meaning="emake_no_talon_engine"/>
       
  4101 +	<alias name="emake_no_talon" meaning="emake_no_talon_engine" type="engine"/>
       
  4102  	
       
  4103  	<!-- Raptor make engine for PVMgmake -->
       
  4104  	<var name="pvmgmake_engine" extends="make_engine">
       
  4105 @@ -85,8 +95,9 @@
       
  4106  		<set name="build" value="$(PVMGMAKE) HAVE_ORDERONLY=true  -r"/>
       
  4107  		<set name="scrambled" value="false" />
       
  4108  		<set name='TALON_DESCRAMBLE' value=''/>
       
  4109 +		<set name='DELETE_ON_FAILED_COMPILE' value=''/>
       
  4110  	</var>
       
  4111  
       
  4112 -	<alias name="pvmgmake" meaning="pvmgmake_engine"/>
       
  4113 +	<alias name="pvmgmake" meaning="pvmgmake_engine" type="engine"/>
       
  4114  
       
  4115  </build>
  4026 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/msvc.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/msvc.xml
  4116 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/msvc.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/msvc.xml
  4027 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/msvc.xml	2010-05-18 19:32:34.721348727 +0100
  4117 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/msvc.xml	2010-05-18 19:32:34.721348727 +0100
  4028 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/msvc.xml	2010-05-17 18:47:53.032843000 +0100
  4118 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/msvc.xml	2010-06-04 12:09:24.963850000 +0100
  4029 @@ -1,11 +1,11 @@
  4119 @@ -1,11 +1,11 @@
  4030  <?xml version="1.0" encoding="ISO-8859-1"?>
  4120  <?xml version="1.0" encoding="ISO-8859-1"?>
  4031  <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">
  4121  <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">
  4032 -	<!-- build configurations for MSVC compilers -->
  4122 -	<!-- build configurations for MSVC compilers -->
  4033 +	<!-- build variants for MSVC toolchains -->
  4123 +	<!-- build variants for MSVC toolchains -->
  4082  
  4172  
  4083  		<set name='RELEASEPATHROOT' value='$(EPOCROOT)/epoc32/release'/>
  4173  		<set name='RELEASEPATHROOT' value='$(EPOCROOT)/epoc32/release'/>
  4084  		<set name='IMPORTLIBPATH' value='$(RELEASEPATHROOT)/tools/udeb'/>
  4174  		<set name='IMPORTLIBPATH' value='$(RELEASEPATHROOT)/tools/udeb'/>
  4085 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/root.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/root.xml
  4175 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/root.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/root.xml
  4086 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/root.xml	2010-05-18 19:32:34.721348727 +0100
  4176 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/root.xml	2010-05-18 19:32:34.721348727 +0100
  4087 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/root.xml	2010-05-17 18:47:53.032843000 +0100
  4177 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/root.xml	2010-06-04 12:09:24.967850000 +0100
  4088 @@ -11,6 +11,8 @@
  4178 @@ -11,6 +11,8 @@
  4089  	-->
  4179  	-->
  4090  
  4180  
  4091  	<var name="root">
  4181  	<var name="root">
  4092 +		<env name='FLMDEBUG' default=''/>	
  4182 +		<env name='FLMDEBUG' default=''/>	
  4093 +	
  4183 +	
  4094  		<varRef ref="root.places"/>
  4184  		<varRef ref="root.places"/>
  4095  		<varRef ref="root.properties"/>
  4185  		<varRef ref="root.properties"/>
  4096  		
  4186  		
       
  4187 @@ -43,6 +45,7 @@
       
  4188  		<set name='POSTLINKER_SUPPORTS_WDP' value='1'/>
       
  4189  		<set name='SUPPORTS_STDCPP_NEWLIB' value='1'/>
       
  4190  		<set name="RVCT_PRE_INCLUDE" value="$(EPOCINCLUDE)/rvct/rvct.h"/>
       
  4191 +		<set name="SUPPORTS_ABIV1_IMPLIBS" value=''/>
       
  4192  	</var>
       
  4193  	
       
  4194  	<!-- Placeholder for the root.changes variant. This will typically be
  4097 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/rvct.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/rvct.xml
  4195 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/rvct.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/rvct.xml
  4098 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/rvct.xml	2010-05-18 19:32:34.721348727 +0100
  4196 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/rvct.xml	2010-05-18 19:32:34.721348727 +0100
  4099 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/rvct.xml	2010-05-17 18:47:53.032843000 +0100
  4197 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/rvct.xml	2010-06-04 12:09:24.967850000 +0100
  4100 @@ -1,66 +1,62 @@
  4198 @@ -1,66 +1,62 @@
  4101  <?xml version="1.0" encoding="ISO-8859-1"?>
  4199  <?xml version="1.0" encoding="ISO-8859-1"?>
  4102  <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">
  4200  <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">
  4103 -	<!-- RVCT build variant for RVCT compilers -->
  4201 -	<!-- RVCT build variant for RVCT compilers -->
  4104 +	<!-- build variant for RVCT ARM toolchains -->
  4202 +	<!-- build variant for RVCT ARM toolchains -->
  4193 +		<set name="LD_WARNINGS_CONTROL_OPTION" value="--diag_suppress 6331"/>
  4291 +		<set name="LD_WARNINGS_CONTROL_OPTION" value="--diag_suppress 6331"/>
  4194 +		<set name="LD_WARNINGS_SUPPRESSION_ARMLIBS" value="--diag_suppress 6780"/>
  4292 +		<set name="LD_WARNINGS_SUPPRESSION_ARMLIBS" value="--diag_suppress 6780"/>
  4195  		<set name="LIBPATH" value=""/>
  4293  		<set name="LIBPATH" value=""/>
  4196  		<set name="LIBRARY" value=""/>
  4294  		<set name="LIBRARY" value=""/>
  4197  		<set name="LICENSERETRY_OPTION" value=""/>
  4295  		<set name="LICENSERETRY_OPTION" value=""/>
  4198 @@ -69,25 +65,35 @@
  4296 @@ -69,25 +65,34 @@
  4199  		<set name="LINKER_DEFAULT_LIBS" value=""/>
  4297  		<set name="LINKER_DEFAULT_LIBS" value=""/>
  4200  		<set name="LINKER_DEFAULT_LIB_PATHS" value=""/>
  4298  		<set name="LINKER_DEFAULT_LIB_PATHS" value=""/>
  4201  		<set name="LINKER_ENTRY_OPTION" value="--entry"/>
  4299  		<set name="LINKER_ENTRY_OPTION" value="--entry"/>
  4202 -		<set name="LINKER_GROUP_START_OPTION" value=""/>
  4300 -		<set name="LINKER_GROUP_START_OPTION" value=""/>
  4203  		<set name="LINKER_GROUP_END_OPTION" value=""/>
  4301  		<set name="LINKER_GROUP_END_OPTION" value=""/>
  4221  		<set name="SHARED_OBJECT_OPTION" value="--dll"/>
  4319  		<set name="SHARED_OBJECT_OPTION" value="--dll"/>
  4222  		<set name="SID" value=""/>
  4320  		<set name="SID" value=""/>
  4223  		<set name="SO_NAME_OPTION" value="--soname"/>
  4321  		<set name="SO_NAME_OPTION" value="--soname"/>
  4224  		<set name="STATIC_LIBS_PATH" value="$(RVCTLIB)/armlib"/>
  4322  		<set name="STATIC_LIBS_PATH" value="$(RVCTLIB)/armlib"/>
  4225  		<set name="STDCPP_INCLUDE" value="$(EPOCINCLUDE)/stdapis"/>
  4323  		<set name="STDCPP_INCLUDE" value="$(EPOCINCLUDE)/stdapis"/>
  4226 -		<set name="SYMBIAN_LD_MESSAGE_OPTION" value="$(LD_WARNINGS_CONTROL_OPTION) $(LD_ERRORS_CONTROL_OPTION)"/>
  4324 +		<set name="STDLIB_OPTION" value="--no_scanlib"/>	
  4227 +		<set name="STDLIB_OPTION" value="--no_scanlib"/>
  4325  		<set name="SYMBIAN_LD_MESSAGE_OPTION" value="$(LD_WARNINGS_CONTROL_OPTION) $(LD_ERRORS_CONTROL_OPTION)"/>
  4228  		<set name="SUPPORTS_ABIV1_IMPLIBS" value="1"/>		
  4326 -		<set name="SUPPORTS_ABIV1_IMPLIBS" value="1"/>		
  4229 -		<set name="TARGET_RELOCATION_OPTION" value="" />
  4327 -		<set name="TARGET_RELOCATION_OPTION" value="" />
  4230 +		<set name="SYMBIAN_LD_MESSAGE_OPTION" value="$(LD_WARNINGS_CONTROL_OPTION) $(LD_ERRORS_CONTROL_OPTION)"/>
       
  4231  		<set name="SYMVER_OPTION" value="--symver_soname"/>
  4328  		<set name="SYMVER_OPTION" value="--symver_soname"/>
  4232 +		<set name="TARGET_RELOCATION_OPTION" value=""/>
  4329 +		<set name="TARGET_RELOCATION_OPTION" value=""/>
  4233  		<set name="TEMP_FILES_OPTION" value=""/>
  4330  		<set name="TEMP_FILES_OPTION" value=""/>
  4234  		<set name="THUMB_INSTRUCTION_SET" value="--thumb"/>
  4331  		<set name="THUMB_INSTRUCTION_SET" value="--thumb"/>
  4235 -		<set name="INSTRUCTION_SET" value=""/>
  4332 -		<set name="INSTRUCTION_SET" value=""/>
  4236  		<set name="TRANASM_FLAGS" value="-n -s"/>
  4333  		<set name="TRANASM_FLAGS" value="-n -s"/>
  4237  		<set name="TRANASM_INPUT_OPTION" value=""/>
  4334  		<set name="TRANASM_INPUT_OPTION" value=""/>
  4238  		<set name="TRANASM_OUTPUT_OPTION" value="-o="/>
  4335  		<set name="TRANASM_OUTPUT_OPTION" value="-o="/>
  4239 @@ -98,10 +104,7 @@
  4336 @@ -95,13 +100,11 @@
       
  4337  		<set name="UNDEFINED_SYMBOL_REF_OPTION" value=""/>
       
  4338  		<set name="UNIX_SLASH_FOR_CC_ABS_PATHS" value="0"/>
       
  4339  		<set name="UNRESOLVED_SYMBOL_REF_OPTION" value=""/>
       
  4340 +		<set name="USE_RVCT22_DELETE_WORKAROUND" value=""/>
  4240  		<set name="USERINCLUDE" value=""/>
  4341  		<set name="USERINCLUDE" value=""/>
  4241  		<set name="USER_LIBS_PATH_OPTION" value="--userlibpath"/>
  4342  		<set name="USER_LIBS_PATH_OPTION" value="--userlibpath"/>
  4242  		<set name="VFE_OPTION" value="--no_vfe"/>
  4343  		<set name="VFE_OPTION" value="--no_vfe"/>
  4243 -		<set name="PLATMACROS.WINDOWS" value="ARMCC EPOC32 MARM EABI GENERIC_MARM MARM_ARMV5 $(PLATMACROS.CONFIG) $(PLATMACROS.VAR)"/>
  4344 -		<set name="PLATMACROS.WINDOWS" value="ARMCC EPOC32 MARM EABI GENERIC_MARM MARM_ARMV5 $(PLATMACROS.CONFIG) $(PLATMACROS.VAR)"/>
  4244 -		<set name="PLATMACROS.LINUX" value="$(PLATMACROS.WINDOWS)"/>
  4345 -		<set name="PLATMACROS.LINUX" value="$(PLATMACROS.WINDOWS)"/>
  4249 +		<append name="CDEFS" value="__ARMCC__"/>
  4350 +		<append name="CDEFS" value="__ARMCC__"/>
  4250  	</var>
  4351  	</var>
  4251  </build>
  4352  </build>
  4252 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/variants.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/variants.xml
  4353 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/variants.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/variants.xml
  4253 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/variants.xml	2010-05-18 19:32:34.721348727 +0100
  4354 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/variants.xml	2010-05-18 19:32:34.721348727 +0100
  4254 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/variants.xml	2010-05-17 18:47:53.036842000 +0100
  4355 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/variants.xml	2010-06-04 12:09:24.967850000 +0100
  4255 @@ -6,10 +6,23 @@
  4356 @@ -6,10 +6,23 @@
  4256  	
  4357  	
  4257  	-->
  4358  	-->
  4258    
  4359    
  4259 +	<!-- This variant enables building win32 tools in Linux. Tools2 on Linux only -->
  4360 +	<!-- This variant enables building win32 tools in Linux. Tools2 on Linux only -->
  4274  	</var>
  4375  	</var>
  4275 +	
  4376 +	
  4276  	<!-- Run this variant to turn on trace compiler -->
  4377  	<!-- Run this variant to turn on trace compiler -->
  4277  	<var name="tracecompiler">
  4378  	<var name="tracecompiler">
  4278  		<set name='USE_TRACE_COMPILER' value='1'/>
  4379  		<set name='USE_TRACE_COMPILER' value='1'/>
       
  4380 @@ -68,7 +82,7 @@
       
  4381  		<!-- PLATMACROS.LINUX is set from PLATMACROS.WINDOWS -->
       
  4382  		<append name="TRADITIONAL_PLATFORM" value='SMP' separator="" />
       
  4383  		<append name="VARIANTPLATFORM" value="smp" separator=""/>
       
  4384 -		<set name="GENERATE_ABIV1_IMPLIBS" value=""/>
       
  4385 +		<set name="SUPPORTS_ABIV1_IMPLIBS" value=""/>
       
  4386  	</var>
       
  4387  
       
  4388  	<!-- emit formatted releasable information into the logs for post-build parsing -->
  4279 @@ -77,67 +91,40 @@
  4389 @@ -77,67 +91,40 @@
  4280  	</var>
  4390  	</var>
  4281  
  4391  
  4282  	<var name="gcce4_3_2" extends="gcce_base">
  4392  	<var name="gcce4_3_2" extends="gcce_base">
  4283 -		<env name="GCCEBIN" type="path" />
  4393 -		<env name="GCCEBIN" type="path" />
  4365 -		<set name="ARMCC" value="&quot;$(RVCTBIN)/armcc$(DOTEXE)&quot;" type="tool" versionCommand="$(ARMCC) --vsn" versionResult="Compiler, RVCT2\.2\b"/>
  4475 -		<set name="ARMCC" value="&quot;$(RVCTBIN)/armcc$(DOTEXE)&quot;" type="tool" versionCommand="$(ARMCC) --vsn" versionResult="Compiler, RVCT2\.2\b"/>
  4366 +		<set name="ARMCC" value="$(RVCTBIN)/armcc$(DOTEXE)" type="tool" versionCommand="$(ARMCC) --vsn" versionResult="Compiler, RVCT2\.2\b"/>
  4476 +		<set name="ARMCC" value="$(RVCTBIN)/armcc$(DOTEXE)" type="tool" versionCommand="$(ARMCC) --vsn" versionResult="Compiler, RVCT2\.2\b"/>
  4367  		<set name="OWN_LIBRARY_OPTION" value="-Ono_known_library"/>
  4477  		<set name="OWN_LIBRARY_OPTION" value="-Ono_known_library"/>
  4368  		<set name="RELOCATABLE_IMAGE_OPTION" value="--reloc"/>
  4478  		<set name="RELOCATABLE_IMAGE_OPTION" value="--reloc"/>
  4369  		<set name="SPLIT_OPTION" value="--split"/>
  4479  		<set name="SPLIT_OPTION" value="--split"/>
  4370 @@ -147,23 +134,24 @@
  4480 @@ -147,23 +134,25 @@
  4371  		<set name="STATIC_LIBS_LIST" value="h_t__uf.l(switch8.o)"/>
  4481  		<set name="STATIC_LIBS_LIST" value="h_t__uf.l(switch8.o)"/>
  4372  		<set name="RUNTIME_LIBS_LIST" value="drtaeabi.dso dfpaeabi.dso dfprvct2_2.dso drtrvct2_2.dso"/>
  4482  		<set name="RUNTIME_LIBS_LIST" value="drtaeabi.dso dfpaeabi.dso dfprvct2_2.dso drtrvct2_2.dso"/>
  4373  		<set name="USER_STATIC_RUNTIME_LIB" value="usrt2_2.lib"/>
  4483  		<set name="USER_STATIC_RUNTIME_LIB" value="usrt2_2.lib"/>
  4374 +		<set name="USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS" value="usrt_nx_2_2.lib"/>
  4484 +		<set name="USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS" value="usrt_nx_2_2.lib"/>
  4375  		<set name="KERNEL_STATIC_RUNTIME_LIB" value="ksrt2_2.lib"/>
  4485  		<set name="KERNEL_STATIC_RUNTIME_LIB" value="ksrt2_2.lib"/>
  4378  		<set name="CC.NO_UNALIGNED_ACCESS" value="--memaccess -UL41"/>
  4488  		<set name="CC.NO_UNALIGNED_ACCESS" value="--memaccess -UL41"/>
  4379  		<set name="CC.SOFTVFP_MAYBE_VFPV2" value="softvfp"/>
  4489  		<set name="CC.SOFTVFP_MAYBE_VFPV2" value="softvfp"/>
  4380 +		<set name="PL.SOFTVFP_MAYBE_VFPV2" value="softvfp"/>
  4490 +		<set name="PL.SOFTVFP_MAYBE_VFPV2" value="softvfp"/>
  4381  		<set name="CC.ARMV5" value="--cpu 5T"/>
  4491  		<set name="CC.ARMV5" value="--cpu 5T"/>
  4382  		<set name="CC.ARMV6" value="--cpu 6"/>
  4492  		<set name="CC.ARMV6" value="--cpu 6"/>
       
  4493 +		<set name="USE_RVCT22_DELETE_WORKAROUND" value="1" />
  4383  	</var>
  4494  	</var>
  4384  
  4495  
  4385  	<var name="rvct3_1" extends="rvct">
  4496  	<var name="rvct3_1" extends="rvct">
  4386 -		<env name="RVCT31BIN" type="path"/>
  4497 -		<env name="RVCT31BIN" type="path"/>
  4387 -		<env name="RVCT31INC" type="path"/>
  4498 -		<env name="RVCT31INC" type="path"/>
  4395 -		<set name="ARMCC" value="&quot;$(RVCTBIN)/armcc$(DOTEXE)&quot;" type="tool" versionCommand="$(ARMCC) --version_number" versionResult="310[6-9]\d\d\b"/>
  4506 -		<set name="ARMCC" value="&quot;$(RVCTBIN)/armcc$(DOTEXE)&quot;" type="tool" versionCommand="$(ARMCC) --version_number" versionResult="310[6-9]\d\d\b"/>
  4396 +		<set name="ARMCC" value="$(RVCTBIN)/armcc$(DOTEXE)" type="tool" versionCommand="$(ARMCC) --version_number" versionResult="310[6-9]\d\d\b"/>
  4507 +		<set name="ARMCC" value="$(RVCTBIN)/armcc$(DOTEXE)" type="tool" versionCommand="$(ARMCC) --version_number" versionResult="310[6-9]\d\d\b"/>
  4397  		<set name="OWN_LIBRARY_OPTION" value="--library_interface=aeabi_clib"/>
  4508  		<set name="OWN_LIBRARY_OPTION" value="--library_interface=aeabi_clib"/>
  4398  		<set name="RELOCATABLE_IMAGE_OPTION" value=""/>
  4509  		<set name="RELOCATABLE_IMAGE_OPTION" value=""/>
  4399  		<set name="SPLIT_OPTION" value=""/>
  4510  		<set name="SPLIT_OPTION" value=""/>
  4400 @@ -173,47 +161,48 @@
  4511 @@ -173,47 +162,48 @@
  4401  		<set name="STATIC_LIBS_LIST" value="h_5.l"/>
  4512  		<set name="STATIC_LIBS_LIST" value="h_5.l"/>
  4402  		<set name="RUNTIME_LIBS_LIST" value="drtaeabi.dso dfpaeabi.dso dfprvct3_1.dso drtrvct3_1.dso"/>
  4513  		<set name="RUNTIME_LIBS_LIST" value="drtaeabi.dso dfpaeabi.dso dfprvct3_1.dso drtrvct3_1.dso"/>
  4403  		<set name="USER_STATIC_RUNTIME_LIB" value="usrt3_1.lib"/>
  4514  		<set name="USER_STATIC_RUNTIME_LIB" value="usrt3_1.lib"/>
  4404 +		<set name="USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS" value="usrt_nx_3_1.lib"/>
  4515 +		<set name="USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS" value="usrt_nx_3_1.lib"/>
  4405  		<set name="KERNEL_STATIC_RUNTIME_LIB" value="ksrt3_1.lib"/>
  4516  		<set name="KERNEL_STATIC_RUNTIME_LIB" value="ksrt3_1.lib"/>
  4460 +		<set name="CC.ARMV6" value="--cpu 6"/>
  4571 +		<set name="CC.ARMV6" value="--cpu 6"/>
  4461 +		<set name="CC.ARMV7" value="--cpu 7-A"/>
  4572 +		<set name="CC.ARMV7" value="--cpu 7-A"/>
  4462  	</var>
  4573  	</var>
  4463  
  4574  
  4464  	<var name="urel">
  4575  	<var name="urel">
  4465 @@ -262,4 +251,17 @@
  4576 @@ -262,4 +252,17 @@
  4466  		<set name='OPTION_CW' value='-cwd include'/>
  4577  		<set name='OPTION_CW' value='-cwd include'/>
  4467  	</var>
  4578  	</var>
  4468  
  4579  
  4469 +	<!-- Variant to allow GCCE-built binaries to be created in epoc32/release/gcce, 
  4580 +	<!-- Variant to allow GCCE-built binaries to be created in epoc32/release/gcce, 
  4470 +	     epoc32/release/gccev6 and epoc32/release/gccev7 -->
  4581 +	     epoc32/release/gccev6 and epoc32/release/gccev7 -->
  4480 +		<set name="VARIANTPLATFORM" value="gccev7" />
  4591 +		<set name="VARIANTPLATFORM" value="gccev7" />
  4481 +	</var>
  4592 +	</var>
  4482  </build>
  4593  </build>
  4483 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/winscw.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/winscw.xml
  4594 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/winscw.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/winscw.xml
  4484 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/winscw.xml	2010-05-18 19:32:34.721348727 +0100
  4595 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/config/winscw.xml	2010-05-18 19:32:34.721348727 +0100
  4485 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/winscw.xml	2010-05-17 18:47:53.036842000 +0100
  4596 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/winscw.xml	2010-06-04 12:09:24.967850000 +0100
  4486 @@ -1,24 +1,31 @@
  4597 @@ -1,24 +1,31 @@
  4487  <?xml version="1.0" encoding="ISO-8859-1"?>
  4598  <?xml version="1.0" encoding="ISO-8859-1"?>
  4488  <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">
  4599  <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">
  4489 -	<!-- build configurations for Metrowerks Emulator compilers -->
  4600 -	<!-- build configurations for Metrowerks Emulator compilers -->
  4490 +	<!-- build variants for CodeWarrior toolchains -->
  4601 +	<!-- build variants for CodeWarrior toolchains -->
  4535  		<set name="INTERFACE.dll" value="Emulator.dll"/>
  4646  		<set name="INTERFACE.dll" value="Emulator.dll"/>
  4536 +		<set name="INTERFACE.pdll" value="Emulator.pdll"/>
  4647 +		<set name="INTERFACE.pdll" value="Emulator.pdll"/>
  4537  		<set name="INTERFACE.stddll" value="Emulator.stddll"/>
  4648  		<set name="INTERFACE.stddll" value="Emulator.stddll"/>
  4538  		<set name="INTERFACE.exexp" value="Emulator.exexp"/>
  4649  		<set name="INTERFACE.exexp" value="Emulator.exexp"/>
  4539  		<set name="INTERFACE.fsy" value="Emulator.fsy"/>
  4650  		<set name="INTERFACE.fsy" value="Emulator.fsy"/>
  4540 @@ -40,100 +48,100 @@
  4651 @@ -40,104 +48,106 @@
  4541  		<set name="INTERFACE.pdd" value="Emulator.pdd"/>
  4652  		<set name="INTERFACE.pdd" value="Emulator.pdd"/>
  4542  		<set name="INTERFACE.pdl" value="Emulator.pdl"/>
  4653  		<set name="INTERFACE.pdl" value="Emulator.pdl"/>
  4543  		<set name="INTERFACE.plugin" value="Emulator.plugin"/>
  4654  		<set name="INTERFACE.plugin" value="Emulator.plugin"/>
  4544 +		<set name="INTERFACE.plugin3" value="Emulator.plugin3"/>
  4655 +		<set name="INTERFACE.plugin3" value="Emulator.plugin3"/>
  4545  		<set name="INTERFACE.resource" value="Emulator.resource"/>
  4656  		<set name="INTERFACE.resource" value="Emulator.resource"/>
  4692 +		<!-- macros -->
  4803 +		<!-- macros -->
  4693 +		<set name="PLATMACROS.WINDOWS" value="CW32 WINS WINSCW"/>
  4804 +		<set name="PLATMACROS.WINDOWS" value="CW32 WINS WINSCW"/>
  4694 +		<set name="PLATMACROS.LINUX" value="$(PLATMACROS.WINDOWS)"/>
  4805 +		<set name="PLATMACROS.LINUX" value="$(PLATMACROS.WINDOWS)"/>
  4695  	</var>
  4806  	</var>
  4696  
  4807  
  4697  	<var name="winscw_udeb" extends="winscw_base">
  4808 -	<var name="winscw_udeb" extends="winscw_base">
  4698 -		<set name='FULLVARIANTPATH' value='winscw/udeb'/>
  4809 -		<set name='FULLVARIANTPATH' value='winscw/udeb'/>
  4699 -		<set name='VARIANTTYPE' value='udeb'/>
  4810 -		<set name='VARIANTTYPE' value='udeb'/>
  4700 +		<set name="FULLVARIANTPATH" value="winscw/udeb"/>
  4811 -
  4701 +		<set name="VARIANTTYPE" value="udeb"/>
       
  4702  
       
  4703 -		<append name='CDEFS' value='_DEBUG'/>
  4812 -		<append name='CDEFS' value='_DEBUG'/>
  4704 -		<append name='CFLAGS' value='-g -O0 -inline off'/>
  4813 -		<append name='CFLAGS' value='-g -O0 -inline off'/>
  4705 -		<append name='LFLAGS' value='-g'/>
  4814 -		<append name='LFLAGS' value='-g'/>
       
  4815 +	<var name="winscw_debug">
       
  4816 +		<set name="FULLVARIANTPATH" value="winscw/udeb"/>
       
  4817 +		<set name="VARIANTTYPE" value="udeb"/>
       
  4818 +
  4706 +		<append name="CDEFS" value="_DEBUG"/>
  4819 +		<append name="CDEFS" value="_DEBUG"/>
  4707 +		<append name="CFLAGS" value="-g -O0 -inline off"/>
  4820 +		<append name="CFLAGS" value="-g -O0 -inline off"/>
  4708 +		<append name="LFLAGS" value="-g"/>
  4821 +		<append name="LFLAGS" value="-g"/>
  4709  	</var>
  4822  	</var>
  4710  
  4823 +	<alias name="winscw_udeb" meaning="winscw_base.winscw_debug"/>
  4711  	<var name="winscw_urel" extends="winscw_base">
  4824  
       
  4825 -	<var name="winscw_urel" extends="winscw_base">
  4712 -		<set name='FULLVARIANTPATH' value='winscw/urel'/>
  4826 -		<set name='FULLVARIANTPATH' value='winscw/urel'/>
  4713 -		<set name='VARIANTTYPE' value='urel'/>
  4827 -		<set name='VARIANTTYPE' value='urel'/>
       
  4828 +	<var name="winscw_release">
  4714 +		<set name="FULLVARIANTPATH" value="winscw/urel"/>
  4829 +		<set name="FULLVARIANTPATH" value="winscw/urel"/>
  4715 +		<set name="VARIANTTYPE" value="urel"/>
  4830 +		<set name="VARIANTTYPE" value="urel"/>
  4716  
  4831  
  4717 -		<append name='CDEFS' value='NDEBUG'/>
  4832 -		<append name='CDEFS' value='NDEBUG'/>
  4718 -		<append name='CFLAGS' value='-O4,s'/>
  4833 -		<append name='CFLAGS' value='-O4,s'/>
  4719 +		<append name="CDEFS" value="NDEBUG"/>
  4834 +		<append name="CDEFS" value="NDEBUG"/>
  4720 +		<append name="CFLAGS" value="-O4,s"/>
  4835 +		<append name="CFLAGS" value="-O4,s"/>
  4721  	</var>
  4836  	</var>
       
  4837 +	<alias name="winscw_urel" meaning="winscw_base.winscw_release"/>
  4722  
  4838  
  4723  	<group name="winscw">
  4839  	<group name="winscw">
       
  4840 -		<varRef ref="winscw_urel"/>
       
  4841 -		<varRef ref="winscw_udeb"/>
       
  4842 +		<aliasRef ref="winscw_urel"/>
       
  4843 +		<aliasRef ref="winscw_udeb"/>
       
  4844  	</group>
       
  4845  </build>
  4724 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/base.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/base.xml
  4846 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/base.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/base.xml
  4725 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/base.xml	2010-05-18 19:32:34.721348727 +0100
  4847 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/base.xml	2010-05-18 19:32:34.721348727 +0100
  4726 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/base.xml	2010-05-17 18:47:53.036842000 +0100
  4848 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/base.xml	2010-06-04 12:09:24.967850000 +0100
  4727 @@ -16,6 +16,7 @@
  4849 @@ -16,7 +16,9 @@
  4728  		<param name='PROJECT_META' default=''/>     <!-- my.mmp  -->
  4850  		<param name='PROJECT_META' default=''/>     <!-- my.mmp  -->
  4729  		<param name='DATE' default=''/>
  4851  		<param name='DATE' default=''/>
  4730  		<param name='DUMPBCINFO' default=''/>
  4852  		<param name='DUMPBCINFO' default=''/>
  4731 +		<param name='FLMDEBUG'  default=''/>
  4853 +		<param name='FLMDEBUG'  default=''/>
  4732  		<param name='PLATFORM' default=''/>
  4854  		<param name='PLATFORM' default=''/>
       
  4855 +		<param name='PYTHON' default=''/> <!-- allow python scripts to be used in general flms -->
  4733  		<param name='GNUMAKE38'/>
  4856  		<param name='GNUMAKE38'/>
  4734  		<param name='GNUCP'/>
  4857  		<param name='GNUCP'/>
       
  4858  		<param name='GNUCAT'/>
       
  4859 @@ -83,6 +85,7 @@
       
  4860  	</interface>
       
  4861  	<interface name="base.resource" extends="base.flm" flm="resource.flm">
       
  4862  		<param name='BINCOPYDIRS' default=''/>
       
  4863 +		<param name='DEPCRUNCH'/>
       
  4864  		<param name='MMPDEFS' default=''/>
       
  4865  		<param name='GNUCPP'/>
       
  4866  		<param name='GNUSED'/>
  4735 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/bitmap.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/bitmap.flm
  4867 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/bitmap.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/bitmap.flm
  4736 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/bitmap.flm	2010-05-18 19:32:34.721348727 +0100
  4868 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/bitmap.flm	2010-05-18 19:32:34.721348727 +0100
  4737 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/bitmap.flm	2010-05-17 18:47:53.036842000 +0100
  4869 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/bitmap.flm	2010-06-04 12:09:24.967850000 +0100
  4738 @@ -1,4 +1,4 @@
  4870 @@ -1,4 +1,4 @@
  4739 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  4871 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  4740 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  4872 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  4741  # All rights reserved.
  4873  # All rights reserved.
  4742  # This component and the accompanying materials are made available
  4874  # This component and the accompanying materials are made available
  4826 +BMPRELEASEABLES:=$(RELEASEABLES) $(MBMCOPYFILES)
  4958 +BMPRELEASEABLES:=$(RELEASEABLES) $(MBMCOPYFILES)
  4827 +$(call raptor_release,$(BMPRELEASEABLES),BITMAP)
  4959 +$(call raptor_release,$(BMPRELEASEABLES),BITMAP)
  4828  
  4960  
  4829 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/build.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/build.flm
  4961 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/build.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/build.flm
  4830 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/build.flm	2010-05-18 19:32:34.721348727 +0100
  4962 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/build.flm	2010-05-18 19:32:34.721348727 +0100
  4831 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/build.flm	2010-05-17 18:47:53.036842000 +0100
  4963 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/build.flm	2010-06-04 12:09:24.967850000 +0100
  4832 @@ -24,36 +24,31 @@
  4964 @@ -24,36 +24,31 @@
  4833  
  4965  
  4834  .PHONY:: PP_EXPORTS
  4966  .PHONY:: PP_EXPORTS
  4835  
  4967  
  4836 +ifneq ($(filter win,$(HOSTPLATFORM)),)
  4968 +ifneq ($(filter win,$(HOSTPLATFORM)),)
  4897  $(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS),$(CREATABLEPATHS),))
  5029  $(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS),$(CREATABLEPATHS),))
  4898  $(call makepath,$(CREATABLEPATHS))
  5030  $(call makepath,$(CREATABLEPATHS))
  4899  
  5031  
  4900 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/build.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/build.xml
  5032 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/build.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/build.xml
  4901 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/build.xml	2010-05-18 19:32:34.721348727 +0100
  5033 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/build.xml	2010-05-18 19:32:34.721348727 +0100
  4902 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/build.xml	2010-05-17 18:47:53.036842000 +0100
  5034 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/build.xml	2010-06-04 12:09:24.971850000 +0100
  4903 @@ -9,6 +9,7 @@
  5035 @@ -9,6 +9,7 @@
  4904  		<param name='CONFIGS' default=''/>
  5036  		<param name='CONFIGS' default=''/>
  4905  		<param name='CLI_OPTIONS' default=''/>
  5037  		<param name='CLI_OPTIONS' default=''/>
  4906  		<param name='NO_BUILD' default='' />
  5038  		<param name='NO_BUILD' default='' />
  4907 +		<param name='DOEXPORT' default='1' />
  5039 +		<param name='DOEXPORT' default='1' />
  4908  	</interface>
  5040  	</interface>
  4909  
  5041  
  4910  </build>
  5042  </build>
  4911 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2ani.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2ani.flm
  5043 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2ani.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2ani.flm
  4912 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2ani.flm	2010-05-18 19:32:34.725348467 +0100
  5044 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2ani.flm	2010-05-18 19:32:34.725348467 +0100
  4913 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2ani.flm	2010-05-17 18:47:53.040843000 +0100
  5045 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2ani.flm	2010-06-04 12:09:24.971850000 +0100
  4914 @@ -1,4 +1,4 @@
  5046 @@ -1,4 +1,4 @@
  4915 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5047 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  4916 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5048 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  4917  # All rights reserved.
  5049  # All rights reserved.
  4918  # This component and the accompanying materials are made available
  5050  # This component and the accompanying materials are made available
  4947  UID2:=10003b22
  5079  UID2:=10003b22
  4948  
  5080  
  4949  
  5081  
  4950 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2defaults.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2defaults.mk
  5082 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2defaults.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2defaults.mk
  4951 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2defaults.mk	2010-05-18 19:32:34.725348467 +0100
  5083 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2defaults.mk	2010-05-18 19:32:34.725348467 +0100
  4952 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2defaults.mk	2010-05-17 18:47:53.040843000 +0100
  5084 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2defaults.mk	2010-06-04 12:09:24.975850000 +0100
  4953 @@ -1,5 +1,5 @@
  5085 @@ -1,5 +1,5 @@
  4954  #
  5086  #
  4955 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5087 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  4956 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5088 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  4957  # All rights reserved.
  5089  # All rights reserved.
  5003 +ifeq ($(TOOLCHAIN),GCCE)
  5135 +ifeq ($(TOOLCHAIN),GCCE)
  5004 +  ARMFPU:=
  5136 +  ARMFPU:=
  5005 +endif
  5137 +endif
  5006 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2dll.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2dll.flm
  5138 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2dll.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2dll.flm
  5007 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2dll.flm	2010-05-18 19:32:34.725348467 +0100
  5139 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2dll.flm	2010-05-18 19:32:34.725348467 +0100
  5008 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2dll.flm	2010-05-17 18:47:53.040843000 +0100
  5140 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2dll.flm	2010-06-04 12:09:24.975850000 +0100
  5009 @@ -28,7 +28,7 @@
  5141 @@ -28,7 +28,7 @@
  5010  
  5142  
  5011  # Default Linker settings for this target type
  5143  # Default Linker settings for this target type
  5012  LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
  5144  LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
  5013 -LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
  5145 -LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
  5023 +$(error e32abiv2dll.flm called with wrong TARGETTYPE (should be 'dll' but is '$(TARGETTYPE)'))
  5155 +$(error e32abiv2dll.flm called with wrong TARGETTYPE (should be 'dll' but is '$(TARGETTYPE)'))
  5024  endif
  5156  endif
  5025  
  5157  
  5026 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2exe.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2exe.flm
  5158 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2exe.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2exe.flm
  5027 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2exe.flm	2010-05-18 19:32:34.725348467 +0100
  5159 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2exe.flm	2010-05-18 19:32:34.725348467 +0100
  5028 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2exe.flm	2010-05-17 18:47:53.040843000 +0100
  5160 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2exe.flm	2010-06-04 12:09:24.975850000 +0100
  5029 @@ -1,4 +1,4 @@
  5161 @@ -1,4 +1,4 @@
  5030 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5162 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5031 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5163 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5032  # All rights reserved.
  5164  # All rights reserved.
  5033  # This component and the accompanying materials are made available
  5165  # This component and the accompanying materials are made available
  5054  
  5186  
  5055  $(call vsave,CDEFS)
  5187  $(call vsave,CDEFS)
  5056  CDEFS:=$(CDEFS) __EXE__
  5188  CDEFS:=$(CDEFS) __EXE__
  5057 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2exexp.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2exexp.flm
  5189 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2exexp.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2exexp.flm
  5058 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2exexp.flm	2010-05-18 19:32:34.725348467 +0100
  5190 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2exexp.flm	2010-05-18 19:32:34.725348467 +0100
  5059 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2exexp.flm	2010-05-17 18:47:53.040843000 +0100
  5191 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2exexp.flm	2010-06-04 12:09:24.975850000 +0100
  5060 @@ -52,10 +52,10 @@
  5192 @@ -52,10 +52,10 @@
  5061  LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/$(FIRSTLIB)
  5193  LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/$(FIRSTLIB)
  5062  
  5194  
  5063  ifeq ("$(TOOLCHAIN)","RVCT")
  5195  ifeq ("$(TOOLCHAIN)","RVCT")
  5064 -LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Startup  $(call dblquote,$(STATIC_RUNTIME_DIR)/$(FIRSTLIB)($(FIRSTLIB_OBJECTFILE)))
  5196 -LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Startup  $(call dblquote,$(STATIC_RUNTIME_DIR)/$(FIRSTLIB)($(FIRSTLIB_OBJECTFILE)))
  5070  endif
  5202  endif
  5071  
  5203  
  5072  ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
  5204  ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
  5073 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2.flm
  5205 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2.flm
  5074 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2.flm	2010-05-18 19:32:34.725348467 +0100
  5206 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2.flm	2010-05-18 19:32:34.725348467 +0100
  5075 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2.flm	2010-05-17 18:47:53.040843000 +0100
  5207 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2.flm	2010-06-04 12:09:24.971850000 +0100
  5076 @@ -1,4 +1,4 @@
  5208 @@ -1,4 +1,4 @@
  5077 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  5209 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  5078 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  5210 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  5079  # All rights reserved.
  5211  # All rights reserved.
  5080  # This component and the accompanying materials are made available
  5212  # This component and the accompanying materials are made available
  5081  # under the terms of the License "Eclipse Public License v1.0"
  5213  # under the terms of the License "Eclipse Public License v1.0"
  5082 @@ -16,15 +16,37 @@
  5214 @@ -16,21 +16,50 @@
  5083  #
  5215  #
  5084  #
  5216  #
  5085  
  5217  
  5086 -# Only build feature invariant binaries in non-product builds *and*
  5218 -# Only build feature invariant binaries in non-product builds *and*
  5087 -# Only build feature variant binaries in product builds.
  5219 -# Only build feature variant binaries in product builds.
  5104 +#   Only build feature variant binaries in product builds.
  5236 +#   Only build feature variant binaries in product builds.
  5105 +#
  5237 +#
  5106 +#   test (FEATUREVARIANTNAME=="" and FEATUREVARIANT=="") or
  5238 +#   test (FEATUREVARIANTNAME=="" and FEATUREVARIANT=="") or
  5107 +#        (FEATUREVARIANTNAME!="" and FEATUREVARIANT==1)
  5239 +#        (FEATUREVARIANTNAME!="" and FEATUREVARIANT==1)
  5108 +#
  5240 +#
  5109 +
  5241  
       
  5242 -$(if $(FLMDEBUG),$(info <flm name='e32abiv2' target='$(TARGET)' type='$(TARGETTYPE)' outputpath='$(OUTPUTPATH)' metasource='$(METASOURCE)' postlinkfiletype='$(POSTLINKFILETYPE)' />))
  5110 +DOBUILD:=
  5243 +DOBUILD:=
  5111 +ifeq ($(FEATUREVARIANTSAFE),)
  5244 +ifeq ($(FEATUREVARIANTSAFE),)
  5112 +  DOBUILD:=$(if $(or $(call equal,$(FEATUREVARIANTNAME),),\
  5245 +  DOBUILD:=$(if $(or $(call equal,$(FEATUREVARIANTNAME),),\
  5113 +                     $(call equal,$(FEATUREVARIANT),1)),1)
  5246 +                     $(call equal,$(FEATUREVARIANT),1)),1)
  5114 +else
  5247 +else
  5117 +                     $(and $(call not,$(call equal,$(FEATUREVARIANTNAME),)),\
  5250 +                     $(and $(call not,$(call equal,$(FEATUREVARIANTNAME),)),\
  5118 +                           $(call equal,$(FEATUREVARIANT),1))),1)
  5251 +                           $(call equal,$(FEATUREVARIANT),1))),1)
  5119 +endif
  5252 +endif
  5120 +
  5253 +
  5121 +ifeq ($(DOBUILD),1)
  5254 +ifeq ($(DOBUILD),1)
  5122  
  5255 +
  5123  $(if $(FLMDEBUG),$(info <flm name='e32abiv2' target='$(TARGET)' type='$(TARGETTYPE)' outputpath='$(OUTPUTPATH)' metasource='$(METASOURCE)' postlinkfiletype='$(POSTLINKFILETYPE)' />))
  5256 +$(if $(FLMDEBUG),$(info <debug><flm name='e32abiv2' target='$(TARGET)' type='$(TARGETTYPE)' outputpath='$(OUTPUTPATH)' metasource='$(METASOURCE)' postlinkfiletype='$(POSTLINKFILETYPE)' /></debug>))
  5124  
  5257 +
  5125 @@ -141,7 +163,6 @@
  5258 +# Enable DELETE_ON_FAILED_COMPILE work around for failed RVCT 2.2 compiles
       
  5259 +ifneq ($(DELETE_ON_FAILED_COMPILE),)
       
  5260 +RVCT22_DELETE_WORKAROUND:=|| { $$(GNURM) $$@; exit 1; }
       
  5261 +endif # ifneq ($(DELETE_ON_FAILED_COMPILE),)
       
  5262  
       
  5263  # Strip switch-type parameters
       
  5264  #
       
  5265  POSTLINKTARGETTYPE:=$(strip $(POSTLINKTARGETTYPE))
       
  5266 +TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))
       
  5267 +
       
  5268  UID1:=$(strip $(UID1))
       
  5269  UID2:=$(strip $(UID2))
       
  5270  UID3:=$(strip $(UID3))
       
  5271 @@ -106,9 +135,9 @@
       
  5272  
       
  5273  # Postlinkable targets need to be linked and elf2e32'd
       
  5274  ifneq ($(DOPOSTLINK),)
       
  5275 -    E32TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))
       
  5276 -    LINK_TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)).sym
       
  5277 -    MAPFILE:=$(RELEASABLEPATH)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)).map
       
  5278 +    E32TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(TARGETEXT)
       
  5279 +    LINK_TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(TARGETEXT).sym
       
  5280 +    MAPFILE:=$(RELEASABLEPATH)/$(TARGET).$(TARGETEXT).map
       
  5281  else
       
  5282    E32TARGET:=
       
  5283    LINK_TARGET:=
       
  5284 @@ -141,23 +170,19 @@
  5126    ifeq ($($(BUILDMARKER_IMPORTLIBTARGET_DSO)),)
  5285    ifeq ($($(BUILDMARKER_IMPORTLIBTARGET_DSO)),)
  5127      IMPORTLIBTARGET_DSO:=$(TMP_IMPORTLIBTARGET_ROOT).dso
  5286      IMPORTLIBTARGET_DSO:=$(TMP_IMPORTLIBTARGET_ROOT).dso
  5128      IMPORTLIBTARGETVERSIONED_DSO:=$(VER_E32IMPORTLIBBASE).dso
  5287      IMPORTLIBTARGETVERSIONED_DSO:=$(VER_E32IMPORTLIBBASE).dso
  5129 -    $(eval $(BUILDMARKER_IMPORTLIBTARGET_DSO):=1)
  5288 -    $(eval $(BUILDMARKER_IMPORTLIBTARGET_DSO):=1)
  5130    endif
  5289    endif
  5131  
  5290  
  5132    # ABIv1 .lib (for specific builds, toolchains and host OS platforms only)
  5291 -  # ABIv1 .lib (for specific builds, toolchains and host OS platforms only)
  5133 @@ -156,7 +177,6 @@
  5292 +  # ABIv1 .lib (for specific kits and toolchains only)
       
  5293    IMPORTLIBTARGET_LIB:=
       
  5294    IMPORTLIBTARGETVERSIONED_LIB:=
       
  5295    BUILDMARKER_IMPORTLIBTARGET_LIB:=TARGET_$(subst :,,$(VER_E32IMPORTLIBBASE)).lib
       
  5296 -  # Only for builds that require and support them, and only on windows
       
  5297 -  ifeq ($(OSTYPE),cygwin)
       
  5298 -  ifeq ($(GENERATE_ABIV1_IMPLIBS),1)
       
  5299 +  # Only for kits that require and tools that support them
       
  5300 +  ifneq ($(SUPPORTS_ABIV1_IMPLIBS),)
       
  5301      WHATRELEASE:=$(WHATRELEASE) $(if $(EXPLICITVERSION),,$(TMP_IMPORTLIBTARGET_ROOT).lib)
       
  5302      WHATRELEASE:=$(WHATRELEASE) $(VER_E32IMPORTLIBBASE).lib
  5134      ifeq ($($(BUILDMARKER_IMPORTLIBTARGET_LIB)),)
  5303      ifeq ($($(BUILDMARKER_IMPORTLIBTARGET_LIB)),)
  5135        IMPORTLIBTARGET_LIB:=$(TMP_IMPORTLIBTARGET_ROOT).lib
  5304        IMPORTLIBTARGET_LIB:=$(TMP_IMPORTLIBTARGET_ROOT).lib
  5136        IMPORTLIBTARGETVERSIONED_LIB:=$(VER_E32IMPORTLIBBASE).lib
  5305        IMPORTLIBTARGETVERSIONED_LIB:=$(VER_E32IMPORTLIBBASE).lib
  5137 -      $(eval $(BUILDMARKER_IMPORTLIBTARGET_LIB):=1)
  5306 -      $(eval $(BUILDMARKER_IMPORTLIBTARGET_LIB):=1)
  5138      endif
  5307 -    endif
  5139    endif
  5308    endif
  5140    endif
  5309    endif
  5141 @@ -223,7 +243,7 @@
  5310  endif
       
  5311 @@ -167,7 +192,7 @@
       
  5312  # put the hex version number in the right place
       
  5313  ifeq ($(LINKAS),)
       
  5314    LINKASNAME=$(TARGET)
       
  5315 -  LINKASTYPE=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))
       
  5316 +  LINKASTYPE=$(TARGETEXT)
       
  5317  else
       
  5318    SPLIT_LINKAS=$(subst ., ,$(LINKAS))
       
  5319    LINKASNAME=$(word 1,$(SPLIT_LINKAS))
       
  5320 @@ -223,7 +248,7 @@
  5142  	DSODEFFILENAMEBASE:=$(TARGET){$(VERSIONHEX)}
  5321  	DSODEFFILENAMEBASE:=$(TARGET){$(VERSIONHEX)}
  5143  endif
  5322  endif
  5144  GENERATED_DSO:=$(call dblquote,$(INTERMEDIATEPATH)/$(DSODEFFILENAMEBASE).dso)
  5323  GENERATED_DSO:=$(call dblquote,$(INTERMEDIATEPATH)/$(DSODEFFILENAMEBASE).dso)
  5145 -GENERATED_DEFFILE:=$(call dblquote,$(INTERMEDIATEPATH)/$(DSODEFFILENAMEBASE).def)
  5324 -GENERATED_DEFFILE:=$(call dblquote,$(INTERMEDIATEPATH)/$(DSODEFFILENAMEBASE).def)
  5146 +GENERATED_DEFFILE:=$(INTERMEDIATEPATH)/$(DSODEFFILENAMEBASE).def
  5325 +GENERATED_DEFFILE:=$(INTERMEDIATEPATH)/$(DSODEFFILENAMEBASE).def
  5147  
  5326  
  5148  ## IMPORT LIBRARY  ###########################################################
  5327  ## IMPORT LIBRARY  ###########################################################
  5149  
  5328  
  5150 @@ -251,6 +271,10 @@
  5329 @@ -251,6 +276,10 @@
  5151  # ABIv2 .dso
  5330  # ABIv2 .dso
  5152  ifneq ($(IMPORTLIBTARGET_DSO),) # check that we haven't tried to specify this target already
  5331  ifneq ($(IMPORTLIBTARGET_DSO),) # check that we haven't tried to specify this target already
  5153  
  5332  
  5154 +  # By Now we're committed to producing a target for this DSO so it's safe to
  5333 +  # By Now we're committed to producing a target for this DSO so it's safe to
  5155 +  # set the marker that will prevent any further targets from being made.
  5334 +  # set the marker that will prevent any further targets from being made.
  5156 +  $(eval $(BUILDMARKER_IMPORTLIBTARGET_DSO):=1)
  5335 +  $(eval $(BUILDMARKER_IMPORTLIBTARGET_DSO):=1)
  5157 +
  5336 +
  5158    ifneq ($(EXPLICITVERSION),)
  5337    ifneq ($(EXPLICITVERSION),)
  5159      TARGETS:=$(strip $(TARGETS) $(IMPORTLIBTARGETVERSIONED_DSO))
  5338      TARGETS:=$(strip $(TARGETS) $(IMPORTLIBTARGETVERSIONED_DSO))
  5160  
  5339  
  5161 @@ -279,9 +303,6 @@
  5340 @@ -279,9 +308,6 @@
  5162  		$(call startrule,importlibtarget_unfrozen,FORCESUCCESS) \
  5341  		$(call startrule,importlibtarget_unfrozen,FORCESUCCESS) \
  5163  		$(GNUCP) $$(call dblquote,$$<) $$(call dblquote,$$@) \
  5342  		$(GNUCP) $$(call dblquote,$$<) $$(call dblquote,$$@) \
  5164  		$(call endrule,importlibtarget_unfrozen)
  5343  		$(call endrule,importlibtarget_unfrozen)
  5165 -
  5344 -
  5166 -       CLEANTARGETS:=$$(CLEANTARGETS) $(IMPORTLIBTARGET_DSO)
  5345 -       CLEANTARGETS:=$$(CLEANTARGETS) $(IMPORTLIBTARGET_DSO)
  5167 -
  5346 -
  5168      endef
  5347      endef
  5169  
  5348  
  5170      define importlibtarget_unfrozen_ver
  5349      define importlibtarget_unfrozen_ver
  5171 @@ -289,8 +310,6 @@
  5350 @@ -289,8 +315,6 @@
  5172  		$(call startrule,importlibversioned_unfrozen,FORCESUCCESS) \
  5351  		$(call startrule,importlibversioned_unfrozen,FORCESUCCESS) \
  5173  		$(GNUCP) "$(GENERATED_DSO)" "$$@" \
  5352  		$(GNUCP) "$(GENERATED_DSO)" "$$@" \
  5174  		$(call endrule,importlibversioned_unfrozen)
  5353  		$(call endrule,importlibversioned_unfrozen)
  5175 -
  5354 -
  5176 -      CLEANTARGETS:=$$(CLEANTARGETS) $(IMPORTLIBTARGET_DSO)
  5355 -      CLEANTARGETS:=$$(CLEANTARGETS) $(IMPORTLIBTARGET_DSO)
  5177      endef
  5356      endef
  5178  
  5357  
  5179      ifeq ($(EXPLICITVERSION),)
  5358      ifeq ($(EXPLICITVERSION),)
  5180 @@ -307,8 +326,6 @@
  5359 @@ -307,8 +331,6 @@
  5181  	   $(call startrule,importlibtarget,FORCESUCCESS) \
  5360  	   $(call startrule,importlibtarget,FORCESUCCESS) \
  5182  	   $(GNUCP) "$$<" "$$@" \
  5361  	   $(GNUCP) "$$<" "$$@" \
  5183  	   $(call endrule,importlibtarget)
  5362  	   $(call endrule,importlibtarget)
  5184 -
  5363 -
  5185 -          CLEANTARGETS:=$$(CLEANTARGETS) $(IMPORTLIBTARGET_DSO)
  5364 -          CLEANTARGETS:=$$(CLEANTARGETS) $(IMPORTLIBTARGET_DSO)
  5186        endef
  5365        endef
  5187  
  5366  
  5188        ifeq ($(EXPLICITVERSION),)
  5367        ifeq ($(EXPLICITVERSION),)
  5189 @@ -325,8 +342,6 @@
  5368 @@ -325,8 +347,6 @@
  5190  	 	  --dso=$$(call dblquote,$$@) 				   \
  5369  	 	  --dso=$$(call dblquote,$$@) 				   \
  5191  	 	  --linkas=$(call dblquote,$(LINKASVERSIONED)) \
  5370  	 	  --linkas=$(call dblquote,$(LINKASVERSIONED)) \
  5192  	      $(call endrule,importlibversioned)
  5371  	      $(call endrule,importlibversioned)
  5193 -
  5372 -
  5194 -              CLEANTARGETS:=$$(CLEANTARGETS) $(IMPORTLIBTARGETVERSIONED_DSO)
  5373 -              CLEANTARGETS:=$$(CLEANTARGETS) $(IMPORTLIBTARGETVERSIONED_DSO)
  5195        endef
  5374        endef
  5196        $(eval $(importlibtargetversioned_func))
  5375        $(eval $(importlibtargetversioned_func))
  5197      endif #  ifneq ($(DEFFILE),)
  5376      endif #  ifneq ($(DEFFILE),)
  5198 @@ -335,7 +350,10 @@
  5377 @@ -335,7 +355,10 @@
  5199  
  5378  
  5200  # ABIv1 .lib
  5379  # ABIv1 .lib
  5201  ifneq ($(IMPORTLIBTARGETVERSIONED_LIB),) # check that we haven't tried to specify this target already
  5380  ifneq ($(IMPORTLIBTARGETVERSIONED_LIB),) # check that we haven't tried to specify this target already
  5202 -  CLEANTARGETS:=$(CLEANTARGETS) $(IMPORTLIBTARGETVERSIONED_LIB) $(IMPORTLIBTARGET_LIB)
  5381 -  CLEANTARGETS:=$(CLEANTARGETS) $(IMPORTLIBTARGETVERSIONED_LIB) $(IMPORTLIBTARGET_LIB)
  5203 +
  5382 +
  5205 +  # set the marker that will prevent any further targets from being made.
  5384 +  # set the marker that will prevent any further targets from being made.
  5206 +  $(eval $(BUILDMARKER_IMPORTLIBTARGET_LIB):=1)
  5385 +  $(eval $(BUILDMARKER_IMPORTLIBTARGET_LIB):=1)
  5207  
  5386  
  5208    define abiv1_generatelib
  5387    define abiv1_generatelib
  5209  
  5388  
  5210 @@ -351,12 +369,12 @@
  5389 @@ -351,12 +374,12 @@
  5211      # If unfrozen, .lib files are based on the .def file generated by the final postlink
  5390      # If unfrozen, .lib files are based on the .def file generated by the final postlink
  5212      $(IMPORTLIBTARGETVERSIONED_LIB): $(if $(EXPORTUNFROZEN),$(E32TARGET),$(PREPPEDDEFFILE))
  5391      $(IMPORTLIBTARGETVERSIONED_LIB): $(if $(EXPORTUNFROZEN),$(E32TARGET),$(PREPPEDDEFFILE))
  5213  	$(call startrule,importlibversioned_abiv1) \
  5392  	$(call startrule,importlibversioned_abiv1) \
  5214 -        if [ -f "$(EPOCROOT)/epoc32/tools/def2dll.pl" -a -f "$(if $(EXPORTUNFROZEN),$(GENERATED_DEFFILE),$(PREPPEDDEFFILE))" ]; then \
  5393 -        if [ -f "$(EPOCROOT)/epoc32/tools/def2dll.pl" -a -f "$(if $(EXPORTUNFROZEN),$(GENERATED_DEFFILE),$(PREPPEDDEFFILE))" ]; then \
  5215 +        if [ -f "$(EPOCROOT)/epoc32/tools/def2dll.pl" -a -f "$(if $(EXPORTUNFROZEN),$(call dblquote,$(GENERATED_DEFFILE)),$(PREPPEDDEFFILE))" ]; then \
  5394 +        if [ -f "$(EPOCROOT)/epoc32/tools/def2dll.pl" -a -f "$(if $(EXPORTUNFROZEN),$(call dblquote,$(GENERATED_DEFFILE)),$(PREPPEDDEFFILE))" ]; then \
  5220 -		--deffile="$(if $(EXPORTUNFROZEN),$(GENERATED_DEFFILE),$(PREPPEDDEFFILE))" \
  5399 -		--deffile="$(if $(EXPORTUNFROZEN),$(GENERATED_DEFFILE),$(PREPPEDDEFFILE))" \
  5221 +		--deffile="$(if $(EXPORTUNFROZEN),$(call dblquote,$(GENERATED_DEFFILE)),$(PREPPEDDEFFILE))" \
  5400 +		--deffile="$(if $(EXPORTUNFROZEN),$(call dblquote,$(GENERATED_DEFFILE)),$(PREPPEDDEFFILE))" \
  5222  		--linkAs=$(call dblquote,$(LINKASVERSIONED)) \
  5401  		--linkAs=$(call dblquote,$(LINKASVERSIONED)) \
  5223  		--inter ; fi \
  5402  		--inter ; fi \
  5224  	$(call endrule,importlibversioned_abiv1)
  5403  	$(call endrule,importlibversioned_abiv1)
  5225 @@ -388,7 +406,22 @@
  5404 @@ -388,7 +411,22 @@
  5226  # Generating the import library is enough if TARGETTYPE=implib #############
  5405  # Generating the import library is enough if TARGETTYPE=implib #############
  5227  
  5406  
  5228  ifneq ($(DOPOSTLINK),)
  5407  ifneq ($(DOPOSTLINK),)
  5229 -include $(FLMHOME)/e32postlink.mk
  5408 -include $(FLMHOME)/e32postlink.mk
  5230 +# Capabilities
  5409 +# Capabilities
  5244 +CLEANTARGETS:=$(CLEANTARGETS) $(GENERATED_DSO)
  5423 +CLEANTARGETS:=$(CLEANTARGETS) $(GENERATED_DSO)
  5245 +
  5424 +
  5246  endif # ifneq ($(DOPOSTLINK),)
  5425  endif # ifneq ($(DOPOSTLINK),)
  5247  
  5426  
  5248  ifneq ($(TARGETTYPE),implib)
  5427  ifneq ($(TARGETTYPE),implib)
  5249 @@ -534,7 +567,7 @@
  5428 @@ -534,7 +572,7 @@
  5250  endef
  5429  endef
  5251  $(eval $(artarget_func))
  5430  $(eval $(artarget_func))
  5252  
  5431  
  5253 -CLEANTARGETS:=$(CLEANTARGETS) $(VIAFILE) $(ARTARGET) $(if $(DUMPBCINFO),$(ARTARGET).elfdump,)
  5432 -CLEANTARGETS:=$(CLEANTARGETS) $(VIAFILE) $(ARTARGET) $(if $(DUMPBCINFO),$(ARTARGET).elfdump,)
  5254 +CLEANTARGETS:=$(CLEANTARGETS) $(VIAFILE) $(if $(DUMPBCINFO),$(ARTARGET).elfdump,)
  5433 +CLEANTARGETS:=$(CLEANTARGETS) $(VIAFILE) $(if $(DUMPBCINFO),$(ARTARGET).elfdump,)
  5255  endif
  5434  endif
  5256  
  5435  
  5257  
  5436  
  5258 @@ -542,8 +575,7 @@
  5437 @@ -542,8 +580,7 @@
  5259  # Targettype is some type of DLL or EXE (or derivative)
  5438  # Targettype is some type of DLL or EXE (or derivative)
  5260  ifneq ($(LINK_TARGET),)
  5439  ifneq ($(LINK_TARGET),)
  5261  
  5440  
  5262 -escaped_located_ARMLIBS:=$(foreach L,$(ARMLIBS),$(call ruleEscape,$(wildcard $(subst $(CHAR_SPACE),?,$(RVCTLIB)/*/$(L)))))
  5441 -escaped_located_ARMLIBS:=$(foreach L,$(ARMLIBS),$(call ruleEscape,$(wildcard $(subst $(CHAR_SPACE),?,$(RVCTLIB)/*/$(L)))))
  5263 -quoted_located_ARMLIBS:=$(foreach L,$(ARMLIBS),$(call dblquoteitem,$(wildcard $(RVCTLIB)/*/$(L))))
  5442 -quoted_located_ARMLIBS:=$(foreach L,$(ARMLIBS),$(call dblquoteitem,$(wildcard $(RVCTLIB)/*/$(L))))
  5264 +located_ARMLIBS:=$(foreach L,$(ARMLIBS),$(wildcard $(RVCTLIB)/*/$(L)))
  5443 +located_ARMLIBS:=$(foreach L,$(ARMLIBS),$(wildcard $(RVCTLIB)/*/$(L)))
  5265  located_STATICLIBRARIES:=$(foreach L,$(STATICLIBRARY),$(STATIC_LIBRARY_DIR)/$(L).lib)
  5444  located_STATICLIBRARIES:=$(foreach L,$(STATICLIBRARY),$(STATIC_LIBRARY_DIR)/$(L).lib)
  5266  e32abiv2_LIBS:=$(EXPTARGET) $(LINKER_STUB_LIBRARY) $(if $(STATIC_RUNTIME_LIB),$(STATIC_RUNTIME_DIR)/$(STATIC_RUNTIME_LIB),) $(located_STATICLIBRARIES)
  5445  e32abiv2_LIBS:=$(EXPTARGET) $(LINKER_STUB_LIBRARY) $(if $(STATIC_RUNTIME_LIB),$(STATIC_RUNTIME_DIR)/$(STATIC_RUNTIME_LIB),) $(located_STATICLIBRARIES)
  5267  # DLLS and EXEs - These objects are linked by a linker
  5446  # DLLS and EXEs - These objects are linked by a linker
  5268 @@ -556,12 +588,10 @@
  5447 @@ -556,12 +593,10 @@
  5269  REDUCED_RUNTIME_LIBS_LIST:=$(subst $(TARGET).dso,,$(RUNTIME_LIBS_LIST))
  5448  REDUCED_RUNTIME_LIBS_LIST:=$(subst $(TARGET).dso,,$(RUNTIME_LIBS_LIST))
  5270  
  5449  
  5271  ifeq ($(VARIANTTYPE),udeb)
  5450  ifeq ($(VARIANTTYPE),udeb)
  5272 -  e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARY_DEBUG)) $(addprefix $(RUNTIME_LIBS_PATH)/,$(REDUCED_RUNTIME_LIBS_LIST)) 
  5451 -  e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARY_DEBUG)) $(addprefix $(RUNTIME_LIBS_PATH)/,$(REDUCED_RUNTIME_LIBS_LIST)) 
  5273 +  e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARY_DEBUG)) $(addprefix $(RUNTIME_LIBS_PATH)/,$(REDUCED_RUNTIME_LIBS_LIST)) $(located_ARMLIBS)
  5452 +  e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARY_DEBUG)) $(addprefix $(RUNTIME_LIBS_PATH)/,$(REDUCED_RUNTIME_LIBS_LIST)) $(located_ARMLIBS)
  5278 -quoted_e32abiv2_LIBS=$(e32abiv2_LIBS) $(quoted_located_ARMLIBS)
  5457 -quoted_e32abiv2_LIBS=$(e32abiv2_LIBS) $(quoted_located_ARMLIBS)
  5279 -escaped_e32abiv2_LIBS=$(e32abiv2_LIBS) $(escaped_located_ARMLIBS)
  5458 -escaped_e32abiv2_LIBS=$(e32abiv2_LIBS) $(escaped_located_ARMLIBS)
  5280  
  5459  
  5281  else
  5460  else
  5282  # NORMAL
  5461  # NORMAL
  5283 @@ -574,19 +604,16 @@
  5462 @@ -574,19 +609,16 @@
  5284  ifeq ($(HAS_DEDICATED_OP_NEWDEL_LIB),1)
  5463  ifeq ($(HAS_DEDICATED_OP_NEWDEL_LIB),1)
  5285    e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(RUNTIME_LIBS_PATH)/,$(NEWLIB))
  5464    e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(RUNTIME_LIBS_PATH)/,$(NEWLIB))
  5286  endif
  5465  endif
  5287 -quoted_e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(RUNTIME_LIBS_PATH)/,$(RUNTIME_LIBS_LIST)) $(call addquotedprefix,$(STATIC_LIBS_PATH)/,$(STATIC_LIBS_LIST)) $(quoted_located_ARMLIBS)
  5466 -quoted_e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(RUNTIME_LIBS_PATH)/,$(RUNTIME_LIBS_LIST)) $(call addquotedprefix,$(STATIC_LIBS_PATH)/,$(STATIC_LIBS_LIST)) $(quoted_located_ARMLIBS)
  5288 -escaped_e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(RUNTIME_LIBS_PATH)/,$(RUNTIME_LIBS_LIST)) $(addprefix $(call ruleEscape,$(STATIC_LIBS_PATH)/),$(STATIC_LIBS_LIST)) $(escaped_located_ARMLIBS)
  5467 -escaped_e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(RUNTIME_LIBS_PATH)/,$(RUNTIME_LIBS_LIST)) $(addprefix $(call ruleEscape,$(STATIC_LIBS_PATH)/),$(STATIC_LIBS_LIST)) $(escaped_located_ARMLIBS)
  5301 -quoted_e32abiv2_LIBS=$(e32abiv2_LIBS) $(quoted_located_ARMLIBS)
  5480 -quoted_e32abiv2_LIBS=$(e32abiv2_LIBS) $(quoted_located_ARMLIBS)
  5302 -escaped_e32abiv2_LIBS=$(e32abiv2_LIBS) $(escaped_located_ARMLIBS)
  5481 -escaped_e32abiv2_LIBS=$(e32abiv2_LIBS) $(escaped_located_ARMLIBS)
  5303  endif
  5482  endif
  5304  
  5483  
  5305  # NOTE: the groupin10 macro must be used before a call to the "startrule" macro
  5484  # NOTE: the groupin10 macro must be used before a call to the "startrule" macro
  5306 @@ -596,36 +623,76 @@
  5485 @@ -596,36 +628,76 @@
  5307  # outside the relevant tags but it is also unavoidable.
  5486  # outside the relevant tags but it is also unavoidable.
  5308  define linktarget_func
  5487  define linktarget_func
  5309  ## The actual link target, dependencies and build step
  5488  ## The actual link target, dependencies and build step
  5310 -$(LINK_TARGET): $(if $(MULTIFILE_ENABLED),$(MULTIFILEOBJECT) $(CIAFILES_LINKOBJECTS),$(LINKOBJECTS)) $(escaped_e32abiv2_LIBS) $(LINKER_ENTRYPOINT_LIBDEP) $(if $(SUPPORTS_STDCPP_NEWLIB),$(CHECKLIB)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),)
  5489 -$(LINK_TARGET): $(if $(MULTIFILE_ENABLED),$(MULTIFILEOBJECT) $(CIAFILES_LINKOBJECTS),$(LINKOBJECTS)) $(escaped_e32abiv2_LIBS) $(LINKER_ENTRYPOINT_LIBDEP) $(if $(SUPPORTS_STDCPP_NEWLIB),$(CHECKLIB)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),)
  5311 +$(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
  5490 +$(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
  5391 -CLEANTARGETS:=$(CLEANTARGETS) $(MAPFILE)
  5570 -CLEANTARGETS:=$(CLEANTARGETS) $(MAPFILE)
  5392 +CLEANTARGETS:=$(CLEANTARGETS) $(VIAFILE) $(if $(GENERATELINKERFEEDBACK),$(FEEDBACKFILE)) $(if $(MULTIFILE_ENABLED),$(MULTIFILEOBJECT))
  5571 +CLEANTARGETS:=$(CLEANTARGETS) $(VIAFILE) $(if $(GENERATELINKERFEEDBACK),$(FEEDBACKFILE)) $(if $(MULTIFILE_ENABLED),$(MULTIFILEOBJECT))
  5393  WHATRELEASE:=$(WHATRELEASE) $(MAPFILE)
  5572  WHATRELEASE:=$(WHATRELEASE) $(MAPFILE)
  5394  
  5573  
  5395  endif # if TARGETTYPE lib
  5574  endif # if TARGETTYPE lib
  5396 @@ -646,6 +713,7 @@
  5575 @@ -645,7 +717,9 @@
       
  5576  # USE_TRACE_COMPILER defaults to blank in Raptor config.
  5397  # Users can turn TC on by setting it to 1 in user config.
  5577  # Users can turn TC on by setting it to 1 in user config.
  5398  ifneq ($(USE_TRACE_COMPILER),)
  5578  ifneq ($(USE_TRACE_COMPILER),)
       
  5579 +  # TARGETEXT is already set
  5399    include $(FLMHOME)/tracecompiler.mk
  5580    include $(FLMHOME)/tracecompiler.mk
  5400 +  WHATRELEASE:=$(WHATRELEASE) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER)
  5581 +  WHATRELEASE:=$(WHATRELEASE) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER)
  5401  endif
  5582  endif
  5402  
  5583  
  5403  CC_CPPONLY_ARGS:=$(SYMBIAN_CCFLAGS) $(if $(DEBUG_INFO),-g) $(DEBUG_FORMAT) \
  5584  CC_CPPONLY_ARGS:=$(SYMBIAN_CCFLAGS) $(if $(DEBUG_INFO),-g) $(DEBUG_FORMAT) \
  5404 @@ -655,7 +723,7 @@
  5585 @@ -655,7 +729,7 @@
  5405    $(EXPORT_VTBL_OPTION) $(NO_UNALIGNED_ACCESS) $(VFE_OPTION) $(AAPCS_OPTION) \
  5586    $(EXPORT_VTBL_OPTION) $(NO_UNALIGNED_ACCESS) $(VFE_OPTION) $(AAPCS_OPTION) \
  5406    $(CPPONLYOPTION) $(INSTRUCTION_SET) \
  5587    $(CPPONLYOPTION) $(INSTRUCTION_SET) \
  5407    $(if $(ALWAYS_BUILD_AS_ARM),$(ARM_INSTRUCTION_SET),$(THUMB_INSTRUCTION_SET) $(call makemacrodef,-D,$(COMPILER_THUMB_DEFINES))) \
  5588    $(if $(ALWAYS_BUILD_AS_ARM),$(ARM_INSTRUCTION_SET),$(THUMB_INSTRUCTION_SET) $(call makemacrodef,-D,$(COMPILER_THUMB_DEFINES))) \
  5408 -  $(COMPILER_FPU_FLAGS)
  5589 -  $(COMPILER_FPU_FLAGS)
  5409 +  $(COMPILER_FPU_OPTION)$(if $(ARMFPU),$(ARMFPU),$(COMPILER_FPU_DEFAULT))
  5590 +  $(COMPILER_FPU_OPTION)$(if $(ARMFPU),$(ARMFPU),$(COMPILER_FPU_DEFAULT))
  5410  
  5591  
  5411  ## COMPILE CPP Files #################################################################
  5592  ## COMPILE CPP Files #################################################################
  5412  
  5593  
  5413 @@ -674,7 +742,7 @@
  5594 @@ -674,7 +748,7 @@
  5414    $(EXPORT_VTBL_OPTION) $(NO_UNALIGNED_ACCESS) $(VFE_OPTION) $(AAPCS_OPTION) \
  5595    $(EXPORT_VTBL_OPTION) $(NO_UNALIGNED_ACCESS) $(VFE_OPTION) $(AAPCS_OPTION) \
  5415    $(COMPILE_ONLY_OPTION) $(INSTRUCTION_SET) \
  5596    $(COMPILE_ONLY_OPTION) $(INSTRUCTION_SET) \
  5416    $(if $(ALWAYS_BUILD_AS_ARM),$(ARM_INSTRUCTION_SET),$(THUMB_INSTRUCTION_SET) $(call makemacrodef,-D,$(COMPILER_THUMB_DEFINES))) \
  5597    $(if $(ALWAYS_BUILD_AS_ARM),$(ARM_INSTRUCTION_SET),$(THUMB_INSTRUCTION_SET) $(call makemacrodef,-D,$(COMPILER_THUMB_DEFINES))) \
  5417 -  $(COMPILER_FPU_FLAGS)
  5598 -  $(COMPILER_FPU_FLAGS)
  5418 +  $(COMPILER_FPU_OPTION)$(if $(ARMFPU),$(ARMFPU),$(COMPILER_FPU_DEFAULT))
  5599 +  $(COMPILER_FPU_OPTION)$(if $(ARMFPU),$(ARMFPU),$(COMPILER_FPU_DEFAULT))
  5419  
  5600  
  5420  ifeq ($(STDCPP),1)
  5601  ifeq ($(STDCPP),1)
  5421  SYSTEMINCLUDE:=$(SYSTEMINCLUDE) $(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(STDCPP_INCLUDE)))
  5602  SYSTEMINCLUDE:=$(SYSTEMINCLUDE) $(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(STDCPP_INCLUDE)))
  5422 @@ -705,7 +773,7 @@
  5603 @@ -705,7 +779,7 @@
  5423  $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
  5604  $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
  5424  
  5605  
  5425  # $4 is for language specific options (e.g. C++ vs C)
  5606  # $4 is for language specific options (e.g. C++ vs C)
  5426 -$(1): $(2) $(PROJECT_META) $(if $(MULTIFILE_ENABLED),,$(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)) $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER),) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),)
  5607 -$(1): $(2) $(PROJECT_META) $(if $(MULTIFILE_ENABLED),,$(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)) $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER),) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),)
  5427 +$(1): $(2) $(PROJECT_META) $(if $(MULTIFILE_ENABLED),,$(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),) | $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER),)  
  5608 +$(1): $(2) $(PROJECT_META) $(if $(MULTIFILE_ENABLED),,$(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),) | $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER),)  
  5428  	$(call startrule,compile,,$(2))		\
  5609  	$(call startrule,compile,,$(2))		\
  5429  		$(if $(PERTURBSTARTTIME), $(RANSLEEP) $(PERTURBMSECS) ;,) \
  5610  		$(if $(PERTURBSTARTTIME), $(RANSLEEP) $(PERTURBMSECS) ;,) \
  5430  		$(if $(MULTIFILE_ENABLED), echo $(2) $(3) > $(MULTIFILE_VIAFILE) ;,) \
  5611  		$(if $(MULTIFILE_ENABLED), echo $(2) $(3) > $(MULTIFILE_VIAFILE) ;,) \
  5431 @@ -716,24 +784,27 @@
  5612 @@ -716,24 +790,27 @@
  5432  			$(if $(USE_PROFILER_FEEDBACK),--profile=$(call dblquote,$(ARM_PROFILER_FILE)),) \
  5613  			$(if $(USE_PROFILER_FEEDBACK),--profile=$(call dblquote,$(ARM_PROFILER_FILE)),) \
  5433  			$(call makemacrodef,-D,$(COMPILER_INTERWORK_DEFINES) $(CDEFS))				\
  5614  			$(call makemacrodef,-D,$(COMPILER_INTERWORK_DEFINES) $(CDEFS))				\
  5434  			$(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$(call concat, $(PREINCLUDE_OPTION) ,$(call dblquote,$(PREINCLUDE)))\
  5615  			$(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$(call concat, $(PREINCLUDE_OPTION) ,$(call dblquote,$(PREINCLUDE)))\
  5435 -			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquoteitem,$(RVCTINC)),),)       \
  5616 -			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquoteitem,$(RVCTINC)),),)       \
  5436 +			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquote,$(RVCTINC)),),)       \
  5617 +			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquote,$(RVCTINC)),),)       \
  5440  			$(if $(NOHIDEALL),--no_hide_all,) \
  5621  			$(if $(NOHIDEALL),--no_hide_all,) \
  5441 -			$(DEPEND_OPTION) $(call dblquote,$(1).d) \
  5622 -			$(DEPEND_OPTION) $(call dblquote,$(1).d) \
  5442 +			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(1).d)) \
  5623 +			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(1).d)) \
  5443                          $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \
  5624                          $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \
  5444  			$(if $(MULTIFILE_ENABLED),--multifile $(OUTPUT_OPTION) $(MULTIFILEOBJECT) \
  5625  			$(if $(MULTIFILE_ENABLED),--multifile $(OUTPUT_OPTION) $(MULTIFILEOBJECT) \
  5445  			--via $$(call dblquote, $(MULTIFILE_VIAFILE)),$(OUTPUT_OPTION) $$@ $$(call dblquote, $$<))  \
  5626 -			--via $$(call dblquote, $(MULTIFILE_VIAFILE)),$(OUTPUT_OPTION) $$@ $$(call dblquote, $$<))  \
       
  5627 +			--via $$(call dblquote, $(MULTIFILE_VIAFILE)),$(OUTPUT_OPTION) $$@ $$(call dblquote, $$<)) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
  5446  	$(call endrule,compile)
  5628  	$(call endrule,compile)
  5447  
  5629  
  5448 -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
  5630 -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
  5449 -ifneq "$(DEPENDFILE)" ""
  5631 -ifneq "$(DEPENDFILE)" ""
  5450 -ifeq ($(NO_DEPEND_INCLUDE),)
  5632 -ifeq ($(NO_DEPEND_INCLUDE),)
  5461 -endif
  5643 -endif
  5462 +  endif
  5644 +  endif
  5463  endif
  5645  endif
  5464  
  5646  
  5465  # individual source file compilation
  5647  # individual source file compilation
  5466 @@ -809,24 +880,27 @@
  5648 @@ -780,7 +857,7 @@
       
  5649  			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
       
  5650  			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
       
  5651  			$(if $(NOHIDEALL),--no_hide_all,) \
       
  5652 -			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) \
       
  5653 +			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
       
  5654  	$(call endrule,e32cpponly)
       
  5655  
       
  5656  CLEANTARGETS:=$$(CLEANTARGETS) $(CPPONLYTARGET)
       
  5657 @@ -793,7 +870,7 @@
       
  5658  define e32abiv2_listing
       
  5659  # $1 is the sourcefile
       
  5660  
       
  5661 -$(eval LISTINGTARGET:=$(strip $(call extractandmap,$(CPPFILEEXTENSIONS) $(CFILEEXTENSIONS),.$(subst _,.,$(call sanitise,$(FULLVARIANTPATH))).$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)).lst,$1)))
       
  5662 +$(eval LISTINGTARGET:=$(strip $(call extractandmap,$(CPPFILEEXTENSIONS) $(CFILEEXTENSIONS),.$(subst _,.,$(call sanitise,$(FULLVARIANTPATH))).$(TARGET).$(TARGETEXT).lst,$1)))
       
  5663  $(eval DEPENDFILENAME:=$(call map2listfile,$1).d)
       
  5664  $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
       
  5665  
       
  5666 @@ -809,24 +886,27 @@
  5467  			$(OPTION_COMPILER) 						\
  5667  			$(OPTION_COMPILER) 						\
  5468  			$(call makemacrodef,-D,$(COMPILER_INTERWORK_DEFINES) $(CDEFS))				\
  5668  			$(call makemacrodef,-D,$(COMPILER_INTERWORK_DEFINES) $(CDEFS))				\
  5469  			$(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$(call concat, $(PREINCLUDE_OPTION) ,$(call dblquote,$(PREINCLUDE)))\
  5669  			$(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$(call concat, $(PREINCLUDE_OPTION) ,$(call dblquote,$(PREINCLUDE)))\
  5470 -			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquoteitem,$(RVCTINC)),),)       \
  5670 -			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquoteitem,$(RVCTINC)),),)       \
  5471 +			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquote,$(RVCTINC)),),)       \
  5671 +			$(if $(SET_ARMINC),$(if $(RVCTINC),$(COMPILER_SYSTEM_INCLUDE_OPTION)$(call dblquote,$(RVCTINC)),),)       \
  5472  			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                   \
  5672  			$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D))                                                   \
  5473  			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
  5673  			$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE)))      \
  5474  			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
  5674  			$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE)))  \
  5475  			$(if $(NOHIDEALL),--no_hide_all,) \
  5675  			$(if $(NOHIDEALL),--no_hide_all,) \
  5476 -			$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME)) \
  5676 -			$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME)) \
       
  5677 -			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) \
  5477 +			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
  5678 +			$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
  5478  			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) \
  5679 +			$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
  5479  	$(call endrule,e32listing)
  5680  	$(call endrule,e32listing)
  5480  
  5681  
  5481  CLEANTARGETS:=$$(CLEANTARGETS) $(LISTINGTARGET)
  5682  CLEANTARGETS:=$$(CLEANTARGETS) $(LISTINGTARGET)
  5482  
  5683  
  5483 -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
  5684 -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
  5496 -endif
  5697 -endif
  5497 +  endif
  5698 +  endif
  5498  endif
  5699  endif
  5499  
  5700  
  5500  endef
  5701  endef
  5501 @@ -852,17 +926,32 @@
  5702 @@ -846,23 +926,38 @@
       
  5703  # separate arguments are interpreted as a single argument when passed to bash
       
  5704  FIVESPACES=$(BLANK)     $(BLANK)
       
  5705  
       
  5706 -FREEZEGUARD:=TARGET_$(TARGET)_$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))_$(IMPORTLIBPATH)_EFREEZE
       
  5707 +FREEZEGUARD:=TARGET_$(TARGET)_$(TARGETEXT)_$(IMPORTLIBPATH)_EFREEZE
       
  5708  
       
  5709  define e32freeze
  5502  
  5710  
  5503  FREEZE:: $(1)
  5711  FREEZE:: $(1)
  5504  	$(call startrule,freeze,,$(RESOLVED_DEFFILE)) \
  5712  	$(call startrule,freeze,,$(RESOLVED_DEFFILE)) \
  5505 -	$(EFREEZE) $(EFREEZE_REMOVE_OPTION) "$(RESOLVED_DEFFILE)" $(FIVESPACES) $(GENERATED_DEFFILE) \
  5713 -	$(EFREEZE) $(EFREEZE_REMOVE_OPTION) "$(RESOLVED_DEFFILE)" $(FIVESPACES) $(GENERATED_DEFFILE) \
  5506 +	$(EFREEZE) $(EFREEZE_REMOVE_OPTION) "$(RESOLVED_DEFFILE)" $(FIVESPACES) $(call dblquote,$(GENERATED_DEFFILE)) \
  5714 +	$(EFREEZE) $(EFREEZE_REMOVE_OPTION) "$(RESOLVED_DEFFILE)" $(FIVESPACES) $(call dblquote,$(GENERATED_DEFFILE)) \
  5536 +  endif
  5744 +  endif
  5537 +  $(FREEZEGUARD):=1
  5745 +  $(FREEZEGUARD):=1
  5538  endif
  5746  endif
  5539  
  5747  
  5540  endif
  5748  endif
  5541 @@ -912,24 +1001,26 @@
  5749 @@ -892,7 +987,7 @@
       
  5750  			$(call makemacrodef,-D,$(COMPILER_INTERWORK_DEFINES) $(CDEFS) $(CIADEFS)) $(CPP_LANG_OPTION)      \
       
  5751  	 		$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(USERINCLUDE)))     \
       
  5752  	 		$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(SYSTEMINCLUDE))) \
       
  5753 -	 		$$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ \
       
  5754 +	 		$$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
       
  5755  	$(call endrule,cia2cpp2o)
       
  5756  
       
  5757  
       
  5758 @@ -912,24 +1007,26 @@
  5542         $(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$$(call concat, $(PREINCLUDE_OPTION) ,$$(call dblquote,$(PREINCLUDE))) \
  5759         $(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$$(call concat, $(PREINCLUDE_OPTION) ,$$(call dblquote,$(PREINCLUDE))) \
  5543         $(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(USERINCLUDE))) \
  5760         $(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(USERINCLUDE))) \
  5544         $(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(SYSTEMINCLUDE))) \
  5761         $(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(SYSTEMINCLUDE))) \
  5545 -       $(if $(ARMINC),$(if $(RVCTINC), $(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquoteitem,$(RVCTINC)),),) )
  5762 -       $(if $(ARMINC),$(if $(RVCTINC), $(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquoteitem,$(RVCTINC)),),) )
  5546 +       $(if $(ARMINC),$(if $(RVCTINC), $(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$(RVCTINC)),),) )
  5763 +       $(if $(ARMINC),$(if $(RVCTINC), $(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$(RVCTINC)),),) )
  5550  	$(call startrule,cia2cpp,,$1) \
  5767  	$(call startrule,cia2cpp,,$1) \
  5551  	$(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \
  5768  	$(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \
  5552 -	$(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) && \
  5769 -	$(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) && \
  5553 -	$(CC) -M $(e32abiv2_PREFILE_OPTIONS) --depend_format=unix \
  5770 -	$(CC) -M $(e32abiv2_PREFILE_OPTIONS) --depend_format=unix \
  5554 -	  $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) > $(call dblquote,$(e32abiv2_PREFILE).d) \
  5771 -	  $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) > $(call dblquote,$(e32abiv2_PREFILE).d) \
  5555 +	$(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) \
  5772 +	$(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
  5556 +	$(if $(NO_DEPEND_GENERATE),,&& $(CC) -M $(e32abiv2_PREFILE_OPTIONS) --depend_format=unix $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) > $(call dblquote,$(e32abiv2_PREFILE).d)) \
  5773 +	$(if $(NO_DEPEND_GENERATE),,&& $(CC) -M $(e32abiv2_PREFILE_OPTIONS) --depend_format=unix $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) > $(call dblquote,$(e32abiv2_PREFILE).d)) \
  5557  	$(call endrule,cia2cpp)
  5774  	$(call endrule,cia2cpp)
  5558  
  5775  
  5559 -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
  5776 -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
  5560 -ifneq "$(DEPENDFILE)" ""
  5777 -ifneq "$(DEPENDFILE)" ""
  5572 -endif
  5789 -endif
  5573 +  endif
  5790 +  endif
  5574  endif
  5791  endif
  5575  
  5792  
  5576  endef
  5793  endef
  5577 @@ -960,21 +1051,26 @@
  5794 @@ -960,21 +1057,26 @@
  5578  	$(call startrule,asmcompile,,$(2)) \
  5795  	$(call startrule,asmcompile,,$(2)) \
  5579  		$(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \
  5796  		$(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \
  5580  		$(CC) $(e32abiv2_asm_OPTIONS) \
  5797  		$(CC) $(e32abiv2_asm_OPTIONS) \
  5581 -		$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME)) \
  5798 -		$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME)) \
       
  5799 -	 	$$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ \
  5582 +		$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
  5800 +		$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
  5583  	 	$$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ \
  5801 +	 	$$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
  5584  	$(call endrule,asmcompile)
  5802  	$(call endrule,asmcompile)
  5585 +ifeq ($(NO_DEPEND_GENERATE),)
  5803 +ifeq ($(NO_DEPEND_GENERATE),)
  5586  	$(call startrule,asmdependencies) \
  5804  	$(call startrule,asmdependencies) \
  5587  		$(CC) -M $(subst --no_rtti,,$(e32abiv2_asm_OPTIONS)) --depend_format=unix \
  5805  		$(CC) -M $(subst --no_rtti,,$(e32abiv2_asm_OPTIONS)) --depend_format=unix \
  5588  	  	$(OUTPUT_OPTION) $$@ $$(call dblquote,$2) > $(call dblquote,$(DEPENDFILENAME)) \
  5806 -	  	$(OUTPUT_OPTION) $$@ $$(call dblquote,$2) > $(call dblquote,$(DEPENDFILENAME)) \
       
  5807 +	  	$(OUTPUT_OPTION) $$@ $$(call dblquote,$2) > $(call dblquote,$(DEPENDFILENAME)) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
  5589  	$(call endrule,asmdependencies)
  5808  	$(call endrule,asmdependencies)
  5590 +endif
  5809 +endif
  5591  
  5810  
  5592 -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
  5811 -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
  5593 -ifneq "$(DEPENDFILE)" ""
  5812 -ifneq "$(DEPENDFILE)" ""
  5605 -endif
  5824 -endif
  5606 +  endif
  5825 +  endif
  5607  endif
  5826  endif
  5608  
  5827  
  5609  CREATABLEPATHS:=$$(CREATABLEPATHS) $(INTERMEDIATEPATH)
  5828  CREATABLEPATHS:=$$(CREATABLEPATHS) $(INTERMEDIATEPATH)
  5610 @@ -1116,7 +1212,6 @@
  5829 @@ -1000,7 +1102,7 @@
       
  5830          # Default values
       
  5831          ROMFILETYPE:=file
       
  5832          ROMFILE:=$(TARGET).$(REQUESTEDTARGETEXT)
       
  5833 -        ROMPATH:=sys/bin/
       
  5834 +        ROMPATH:=$(if $(TARGETPATH),$(TARGETPATH)/,sys/bin/)
       
  5835          ROMDECORATIONS:=
       
  5836          ROMFILETYPE_RAM:=data
       
  5837          ROMFILE_RAM:=$(TARGET).$(REQUESTEDTARGETEXT)
       
  5838 @@ -1021,6 +1123,7 @@
       
  5839          endif
       
  5840  
       
  5841  
       
  5842 +        DATATEXT:=
       
  5843          ifeq ($(TESTCODE),TRUE)
       
  5844          	# Add 'TEST' to the .iby filename
       
  5845          	ROMTEST:=test
       
  5846 @@ -1031,8 +1134,6 @@
       
  5847                      DATATEXT:="data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TEST_OPTION).bat test/$(MODULE).$(TEST_OPTION).bat"
       
  5848                  endif
       
  5849              endif
       
  5850 -        else
       
  5851 -        	DATATEXT:=
       
  5852          endif
       
  5853  
       
  5854          # ROMTARGET
       
  5855 @@ -1078,8 +1179,8 @@
       
  5856  	        $(call startrule,rombuild)	\
       
  5857  	        $(GNUMKDIR) -p $(ROMDIR) \
       
  5858              $(if $(ROMFILE_CREATED_$(TOBLDINF)),,&& echo -e "// $(subst $(EPOC_ROOT)/,,$(ROMFILENAME))\n//\n$(DATATEXT)" > $(ROMFILENAME)) \
       
  5859 -            $(if $(BUILDROMTARGET),&& echo "$(ROMFILETYPE)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET).$(REQUESTEDTARGETEXT)   $(1)$(ROMDECORATIONS)" >> $(ROMFILENAME))	\
       
  5860 -	        $(if $(RAMTARGET),&& echo "$(ROMFILETYPE_RAM)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET).$(REQUESTEDTARGETEXT)   $(ROMPATH_RAM)$(ROMFILE_RAM)$(ROMDECORATIONS_RAM)" >> $(ROMFILENAME))	\
       
  5861 +            $(if $(BUILDROMTARGET),&& echo "$(ROMFILETYPE)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT)   $(1)$(ROMDECORATIONS)" >> $(ROMFILENAME))	\
       
  5862 +	        $(if $(RAMTARGET),&& echo "$(ROMFILETYPE_RAM)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT)   $(ROMPATH_RAM)$(ROMFILE_RAM)$(ROMDECORATIONS_RAM)" >> $(ROMFILENAME))	\
       
  5863  	        $(call endrule,buildromfiletarget)
       
  5864      endef
       
  5865  
       
  5866 @@ -1116,7 +1217,6 @@
  5611      PREVIOUSVARIANTTYPE:=$(VARIANTTYPE)
  5867      PREVIOUSVARIANTTYPE:=$(VARIANTTYPE)
  5612  
  5868  
  5613      WHATRELEASE:=$(WHATRELEASE) $(ROMFILENAME)
  5869      WHATRELEASE:=$(WHATRELEASE) $(ROMFILENAME)
  5614 -    CLEANTARGETS:=$(CLEANTARGETS) $(ROMFILENAME)
  5870 -    CLEANTARGETS:=$(CLEANTARGETS) $(ROMFILENAME)
  5615  endif
  5871  endif
  5616  
  5872  
  5617  # Deal with test code batch files generation.
  5873  # Deal with test code batch files generation.
  5618 @@ -1127,7 +1222,6 @@
  5874 @@ -1127,7 +1227,6 @@
  5619      BATCHFILE_CREATED_$(EPOCROOT)/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH):=1
  5875      BATCHFILE_CREATED_$(EPOCROOT)/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH):=1
  5620      TARGET_CREATED_$(EPOCROOT)/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)_$(TARGET):=1
  5876      TARGET_CREATED_$(EPOCROOT)/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)_$(TARGET):=1
  5621      WHATRELEASE:=$(WHATRELEASE) $(EPOCROOT)/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)
  5877      WHATRELEASE:=$(WHATRELEASE) $(EPOCROOT)/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)
  5622 -    CLEANTARGETS:=$(CLEANTARGETS) $(EPOCROOT)/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)
  5878 -    CLEANTARGETS:=$(CLEANTARGETS) $(EPOCROOT)/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)
  5623  endif
  5879  endif
  5624  
  5880  
  5625  ###################### End of Build ROMFILE target ######################
  5881  ###################### End of Build ROMFILE target ######################
  5626 @@ -1167,12 +1261,12 @@
  5882 @@ -1167,12 +1266,12 @@
  5627  $(call makepath,$(CREATABLEPATHS))
  5883  $(call makepath,$(CREATABLEPATHS))
  5628  
  5884  
  5629  ## Clean up
  5885  ## Clean up
  5630 -$(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS) ,$(CREATABLEPATHS),))
  5886 -$(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS) ,$(CREATABLEPATHS),))
  5631 +$(call raptor_clean,$(CLEANTARGETS))
  5887 +$(call raptor_clean,$(CLEANTARGETS))
  5640  
  5896  
  5641  ## The End
  5897  ## The End
  5642  
  5898  
  5643 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2fsy.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2fsy.flm
  5899 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2fsy.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2fsy.flm
  5644 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2fsy.flm	2010-05-18 19:32:34.725348467 +0100
  5900 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2fsy.flm	2010-05-18 19:32:34.725348467 +0100
  5645 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2fsy.flm	2010-05-17 18:47:53.040843000 +0100
  5901 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2fsy.flm	2010-06-04 12:09:24.975850000 +0100
  5646 @@ -1,4 +1,4 @@
  5902 @@ -1,4 +1,4 @@
  5647 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5903 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5648 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5904 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5649  # All rights reserved.
  5905  # All rights reserved.
  5650  # This component and the accompanying materials are made available
  5906  # This component and the accompanying materials are made available
  5674  UID2:=100039df
  5930  UID2:=100039df
  5675  STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
  5931  STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
  5676  CANIGNORENONCALLABLE:=1
  5932  CANIGNORENONCALLABLE:=1
  5677 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2kdll.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2kdll.flm
  5933 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2kdll.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2kdll.flm
  5678 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2kdll.flm	2010-05-18 19:32:34.725348467 +0100
  5934 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2kdll.flm	2010-05-18 19:32:34.725348467 +0100
  5679 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2kdll.flm	2010-05-17 18:47:53.044842000 +0100
  5935 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2kdll.flm	2010-06-04 12:09:24.975850000 +0100
       
  5936 @@ -1,4 +1,4 @@
       
  5937 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
       
  5938 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
       
  5939  # All rights reserved.
       
  5940  # This component and the accompanying materials are made available
       
  5941  # under the terms of the License "Eclipse Public License v1.0"
  5680 @@ -27,7 +27,7 @@
  5942 @@ -27,7 +27,7 @@
  5681  
  5943  
  5682  # Determine what kind of entrypoint option to set
  5944  # Determine what kind of entrypoint option to set
  5683  LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/ekll.lib
  5945  LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/ekll.lib
  5684 -LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/ekll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
  5946 -LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/ekll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
  5685 +LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/ekll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
  5947 +LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/ekll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
  5686  
  5948  
  5687  ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
  5949  ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
  5688  LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
  5950  LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
       
  5951 @@ -48,6 +48,7 @@
       
  5952  IMPORTLIBRARYREQUIRED:=1
       
  5953  endif
       
  5954  POSTLINKDEFFILE:=$(DEFFILE)
       
  5955 +SUPPORT_FREEZE:=1
       
  5956  
       
  5957  # No exception support for kernel code?
       
  5958  EXCEPTIONS:=$(NO_EXCEPTIONS)
  5689 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2kext.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2kext.flm
  5959 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2kext.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2kext.flm
  5690 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2kext.flm	2010-05-18 19:32:34.725348467 +0100
  5960 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2kext.flm	2010-05-18 19:32:34.725348467 +0100
  5691 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2kext.flm	2010-05-17 18:47:53.044842000 +0100
  5961 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2kext.flm	2010-06-04 12:09:24.975850000 +0100
  5692 @@ -34,7 +34,7 @@
  5962 @@ -34,7 +34,7 @@
  5693  
  5963  
  5694  # Default Linker settings for this target type
  5964  # Default Linker settings for this target type
  5695  LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/eext.lib
  5965  LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/eext.lib
  5696 -LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/eext.lib$(LINKER_ENTRYPOINT_ADORNMENT))
  5966 -LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/eext.lib$(LINKER_ENTRYPOINT_ADORNMENT))
  5698  
  5968  
  5699  ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
  5969  ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
  5700  LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
  5970  LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
  5701 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2ldd.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2ldd.flm
  5971 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2ldd.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2ldd.flm
  5702 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2ldd.flm	2010-05-18 19:32:34.729348906 +0100
  5972 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2ldd.flm	2010-05-18 19:32:34.729348906 +0100
  5703 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2ldd.flm	2010-05-17 18:47:53.044842000 +0100
  5973 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2ldd.flm	2010-06-04 12:09:24.975850000 +0100
  5704 @@ -1,4 +1,4 @@
  5974 @@ -1,4 +1,4 @@
  5705 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5975 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5706 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5976 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5707  # All rights reserved.
  5977  # All rights reserved.
  5708  # This component and the accompanying materials are made available
  5978  # This component and the accompanying materials are made available
  5732  BASELIBS:=edev
  6002  BASELIBS:=edev
  5733  UID2:=100000af
  6003  UID2:=100000af
  5734  
  6004  
  5735 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2pdd.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2pdd.flm
  6005 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2pdd.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2pdd.flm
  5736 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2pdd.flm	2010-05-18 19:32:34.729348906 +0100
  6006 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2pdd.flm	2010-05-18 19:32:34.729348906 +0100
  5737 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2pdd.flm	2010-05-17 18:47:53.044842000 +0100
  6007 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2pdd.flm	2010-06-04 12:09:24.979850000 +0100
  5738 @@ -1,4 +1,4 @@
  6008 @@ -1,4 +1,4 @@
  5739 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  6009 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5740 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  6010 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5741  # All rights reserved.
  6011  # All rights reserved.
  5742  # This component and the accompanying materials are made available
  6012  # This component and the accompanying materials are made available
  5765  
  6035  
  5766  BASELIBS:=edev
  6036  BASELIBS:=edev
  5767  UID2:=100039d0
  6037  UID2:=100039d0
  5768 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2pdl.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2pdl.flm
  6038 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2pdl.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2pdl.flm
  5769 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2pdl.flm	2010-05-18 19:32:34.729348906 +0100
  6039 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2pdl.flm	2010-05-18 19:32:34.729348906 +0100
  5770 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2pdl.flm	2010-05-17 18:47:53.044842000 +0100
  6040 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2pdl.flm	2010-06-04 12:09:24.979850000 +0100
  5771 @@ -1,4 +1,4 @@
  6041 @@ -1,4 +1,4 @@
  5772 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  6042 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5773 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  6043 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5774  # All rights reserved.
  6044  # All rights reserved.
  5775  # This component and the accompanying materials are made available
  6045  # This component and the accompanying materials are made available
  5800  UID2:=10003b1c
  6070  UID2:=10003b1c
  5801  RESOURCEPATH:=Resource\Printers
  6071  RESOURCEPATH:=Resource\Printers
  5802 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm: e32abiv2pdll.flm
  6072 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm: e32abiv2pdll.flm
  5803 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2plugin.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2plugin.flm
  6073 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2plugin.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2plugin.flm
  5804 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2plugin.flm	2010-05-18 19:32:34.729348906 +0100
  6074 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2plugin.flm	2010-05-18 19:32:34.729348906 +0100
  5805 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2plugin.flm	2010-05-17 18:47:53.044842000 +0100
  6075 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2plugin.flm	2010-06-04 12:09:24.979850000 +0100
  5806 @@ -1,4 +1,4 @@
  6076 @@ -1,4 +1,4 @@
  5807 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  6077 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5808 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  6078 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5809  # All rights reserved.
  6079  # All rights reserved.
  5810  # This component and the accompanying materials are made available
  6080  # This component and the accompanying materials are made available
  5864 -$(error $e32abiv2plugin.flm called with wrong TARGETTYPE (should be 'plugin' but is '$(TARGETTYPE)'))
  6134 -$(error $e32abiv2plugin.flm called with wrong TARGETTYPE (should be 'plugin' but is '$(TARGETTYPE)'))
  5865 +$(error $e32abiv2plugin.flm called with wrong TARGETTYPE (should be 'plugin' or 'plugin3' but is '$(TARGETTYPE)'))
  6135 +$(error $e32abiv2plugin.flm called with wrong TARGETTYPE (should be 'plugin' or 'plugin3' but is '$(TARGETTYPE)'))
  5866  endif
  6136  endif
  5867 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2stddll.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2stddll.flm
  6137 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2stddll.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2stddll.flm
  5868 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2stddll.flm	2010-05-18 19:32:34.729348906 +0100
  6138 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2stddll.flm	2010-05-18 19:32:34.729348906 +0100
  5869 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2stddll.flm	2010-05-17 18:47:53.044842000 +0100
  6139 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2stddll.flm	2010-06-04 12:09:24.979850000 +0100
  5870 @@ -29,7 +29,7 @@
  6140 @@ -29,7 +29,7 @@
  5871  
  6141  
  5872  # Default Linker settings for this target type
  6142  # Default Linker settings for this target type
  5873  LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
  6143  LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
  5874 -LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
  6144 -LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION) _E32Dll $(LINKER_ENTRYPOINT_DECORATION) $(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
  5876  DEFAULT_NEWLIB:=$(DEFAULT_STDCPP_NEWLIB)
  6146  DEFAULT_NEWLIB:=$(DEFAULT_STDCPP_NEWLIB)
  5877  
  6147  
  5878  ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
  6148  ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
  5879 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm
  6149 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm
  5880 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm	2010-05-18 19:32:34.729348906 +0100
  6150 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm	2010-05-18 19:32:34.729348906 +0100
  5881 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm	2010-05-17 18:47:53.044842000 +0100
  6151 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm	2010-06-04 12:09:24.979850000 +0100
  5882 @@ -1,4 +1,4 @@
  6152 @@ -1,4 +1,4 @@
  5883 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  6153 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5884 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  6154 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5885  # All rights reserved.
  6155  # All rights reserved.
  5886  # This component and the accompanying materials are made available
  6156  # This component and the accompanying materials are made available
  5912  $(call vsave,CDEFS SYSTEMINCLUDE STATICLIBRARY)
  6182  $(call vsave,CDEFS SYSTEMINCLUDE STATICLIBRARY)
  5913  
  6183  
  5914  # STDEXEs need the c runtime library
  6184  # STDEXEs need the c runtime library
  5915 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm
  6185 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm
  5916 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm	2010-05-18 19:32:34.729348906 +0100
  6186 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm	2010-05-18 19:32:34.729348906 +0100
  5917 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm	2010-05-17 18:47:53.048842000 +0100
  6187 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm	2010-06-04 12:09:24.979850000 +0100
  5918 @@ -1,4 +1,4 @@
  6188 @@ -1,4 +1,4 @@
  5919 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  6189 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5920 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  6190 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5921  # All rights reserved.
  6191  # All rights reserved.
  5922  # This component and the accompanying materials are made available
  6192  # This component and the accompanying materials are made available
  5946  RESOURCEPATH:=System/Notifiers
  6216  RESOURCEPATH:=System/Notifiers
  5947  UID2:=101fe38b
  6217  UID2:=101fe38b
  5948  POSTLINKDEFFILE:=$(DEFFILE)
  6218  POSTLINKDEFFILE:=$(DEFFILE)
  5949 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2var2.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2var2.flm
  6219 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2var2.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2var2.flm
  5950 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2var2.flm	2010-05-18 19:32:34.729348906 +0100
  6220 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2var2.flm	2010-05-18 19:32:34.729348906 +0100
  5951 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2var2.flm	2010-05-17 18:47:53.048842000 +0100
  6221 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2var2.flm	2010-06-04 12:09:24.979850000 +0100
  5952 @@ -1,4 +1,4 @@
  6222 @@ -1,4 +1,4 @@
  5953 -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
  6223 -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
  5954 +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
  6224 +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
  5955  # All rights reserved.
  6225  # All rights reserved.
  5956  # This component and the accompanying materials are made available
  6226  # This component and the accompanying materials are made available
  5990  
  6260  
  5991  # We are appending to CDEFS but we don't want this to affect
  6261  # We are appending to CDEFS but we don't want this to affect
  5992  # other invocations so we are going to save it on a stack
  6262  # other invocations so we are going to save it on a stack
  5993 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2var.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2var.flm
  6263 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2var.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2var.flm
  5994 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2var.flm	2010-05-18 19:32:34.729348906 +0100
  6264 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/e32abiv2var.flm	2010-05-18 19:32:34.729348906 +0100
  5995 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2var.flm	2010-05-17 18:47:53.048842000 +0100
  6265 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2var.flm	2010-06-04 12:09:24.979850000 +0100
  5996 @@ -1,4 +1,4 @@
  6266 @@ -1,4 +1,4 @@
  5997 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  6267 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  5998 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  6268 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  5999  # All rights reserved.
  6269  # All rights reserved.
  6000  # This component and the accompanying materials are made available
  6270  # This component and the accompanying materials are made available
  6034  
  6304  
  6035  # We are appending to CDEFS but we don't want this to affect
  6305  # We are appending to CDEFS but we don't want this to affect
  6036  # other invocations so we are going to save it on a stack
  6306  # other invocations so we are going to save it on a stack
  6037 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/emulator.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/emulator.xml
  6307 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/emulator.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/emulator.xml
  6038 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/emulator.xml	2010-05-18 19:32:34.729348906 +0100
  6308 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/emulator.xml	2010-05-18 19:32:34.729348906 +0100
  6039 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/emulator.xml	2010-05-17 18:47:53.048842000 +0100
  6309 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/emulator.xml	2010-06-04 12:09:24.979850000 +0100
  6040 @@ -89,7 +89,6 @@
  6310 @@ -89,7 +89,6 @@
  6041  		<param name='OPT.DEFINE'/>
  6311  		<param name='OPT.DEFINE'/>
  6042  		<param name='OPT.DEFFILE'/>
  6312  		<param name='OPT.DEFFILE'/>
  6043  		<param name='OPT.DEPEND'/>
  6313  		<param name='OPT.DEPEND'/>
  6044 -		<param name='DEPEND_SKIP' default=''/>
  6314 -		<param name='DEPEND_SKIP' default=''/>
  6079  	<interface name="Emulator.textnotifier2" extends="Emulator.dll" flm="win32textnotifier2.flm">
  6349  	<interface name="Emulator.textnotifier2" extends="Emulator.dll" flm="win32textnotifier2.flm">
  6080  	</interface>
  6350  	</interface>
  6081  
  6351  
  6082 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/gccxml.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/gccxml.flm
  6352 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/gccxml.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/gccxml.flm
  6083 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/gccxml.flm	2010-05-18 19:32:34.733348925 +0100
  6353 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/gccxml.flm	2010-05-18 19:32:34.733348925 +0100
  6084 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/gccxml.flm	2010-05-17 18:47:53.048842000 +0100
  6354 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/gccxml.flm	2010-06-04 12:09:24.983850000 +0100
  6085 @@ -1,4 +1,4 @@
  6355 @@ -1,4 +1,4 @@
  6086 -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
  6356 -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
  6087 +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
  6357 +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
  6088  # All rights reserved.
  6358  # All rights reserved.
  6089  # This component and the accompanying materials are made available
  6359  # This component and the accompanying materials are made available
  6144 +$(call raptor_clean,$(CLEANTARGETS))
  6414 +$(call raptor_clean,$(CLEANTARGETS))
  6145  $(call makepath, $(CREATABLEPATHS))
  6415  $(call makepath, $(CREATABLEPATHS))
  6146  
  6416  
  6147 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/msvctools.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/msvctools.flm
  6417 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/msvctools.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/msvctools.flm
  6148 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/msvctools.flm	2010-05-18 19:32:34.733348925 +0100
  6418 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/msvctools.flm	2010-05-18 19:32:34.733348925 +0100
  6149 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/msvctools.flm	2010-05-17 18:47:53.052842000 +0100
  6419 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/msvctools.flm	2010-06-04 12:09:24.983850000 +0100
  6150 @@ -1,4 +1,4 @@
  6420 @@ -1,4 +1,4 @@
  6151 -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
  6421 -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
  6152 +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
  6422 +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
  6153  # All rights reserved.
  6423  # All rights reserved.
  6154  # This component and the accompanying materials are made available
  6424  # This component and the accompanying materials are made available
  6223 +$(call raptor_clean,$(CLEANTARGETS))
  6493 +$(call raptor_clean,$(CLEANTARGETS))
  6224 +# for the --what option and the log file
  6494 +# for the --what option and the log file
  6225 +$(call raptor_release,$(INSTALLTARGET))
  6495 +$(call raptor_release,$(INSTALLTARGET))
  6226 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/msvctools.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/msvctools.xml
  6496 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/msvctools.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/msvctools.xml
  6227 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/msvctools.xml	2010-05-18 19:32:34.733348925 +0100
  6497 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/msvctools.xml	2010-05-18 19:32:34.733348925 +0100
  6228 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/msvctools.xml	2010-05-17 18:47:53.052842000 +0100
  6498 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/msvctools.xml	2010-06-04 12:09:24.987850000 +0100
  6229 @@ -42,7 +42,6 @@
  6499 @@ -42,7 +42,6 @@
  6230  		<param name='OPT.LISTING'/>
  6500  		<param name='OPT.LISTING'/>
  6231  		<param name='OPT.OBJECTFILE'/>
  6501  		<param name='OPT.OBJECTFILE'/>
  6232  		<param name='OPT.OUTFILE'/>
  6502  		<param name='OPT.OUTFILE'/>
  6233 -		<param name='OPT.PDBFILE'/>
  6503 -		<param name='OPT.PDBFILE'/>
  6234  		<param name='OPT.PREINCLUDE'/>
  6504  		<param name='OPT.PREINCLUDE'/>
  6235  		<param name='OPT.SUBSYSTEM'/>
  6505  		<param name='OPT.SUBSYSTEM'/>
  6236  		<param name='OPT.SYSINCLUDE'/>
  6506  		<param name='OPT.SYSINCLUDE'/>
  6237 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/resource.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/resource.flm
  6507 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/resource.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/resource.flm
  6238 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/resource.flm	2010-05-18 19:32:34.733348925 +0100
  6508 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/resource.flm	2010-05-18 19:32:34.733348925 +0100
  6239 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/resource.flm	2010-05-17 18:47:53.052842000 +0100
  6509 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/resource.flm	2010-06-04 12:09:24.987850000 +0100
  6240 @@ -1,4 +1,4 @@
  6510 @@ -1,4 +1,4 @@
  6241 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  6511 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  6242 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  6512 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  6243  # All rights reserved.
  6513  # All rights reserved.
  6244  # This component and the accompanying materials are made available
  6514  # This component and the accompanying materials are made available
  6245  # under the terms of the License "Eclipse Public License v1.0"
  6515  # under the terms of the License "Eclipse Public License v1.0"
  6246 @@ -101,8 +101,6 @@
  6516 @@ -48,119 +48,121 @@
  6247  	@if [ ! -f $$@ ]; then echo "DATADIR: /$(RSSBASENAME)" > $$@ ; fi
  6517  # Ensure that RELEASABLES and CLEANTARGETS cannot expand indefinitely in successive calls to this flm:
  6248  	@echo -e "\n/z$(TARGETPATH)/$(TARGET_lower).rsc : $(RSSBASENAME).rpp" >> $$@
  6518  CLEANTARGETS:=
       
  6519  RELEASABLES:=
       
  6520 +CREATABLEPATHS:=
       
  6521  
       
  6522  # There is only one resource header (.rsg) file and we only
       
  6523  # make that if we are asked.
       
  6524  RSGDIR:=$(EPOCROOT)/epoc32/include
       
  6525 +# If there are multiple LANGUAGES then it is the last one in the list
       
  6526 +# which produces the header.
       
  6527 +HEADLANG:=$(lastword $(LANGUAGES:SC=sc))
       
  6528  ifneq ($(or $(HEADER),$(HEADERONLY)),)
       
  6529          RESOURCEHEADER:=$(RSGDIR)/$(HEADER)
       
  6530  
       
  6531 -        # If there are multiple LANGUAGES then it is the last one in the list
       
  6532 -        # which produces the header.
       
  6533 -        HEADLANG:=$(lastword $(LANGUAGES:SC=sc))
       
  6534  else
       
  6535 -	HEADLANG:=
       
  6536      RESOURCEHEADER:=
       
  6537  endif
       
  6538  
       
  6539  # we create intermediate .rpp and .d files
       
  6540 -INTERBASE:=$(OUTPUTPATH)/$(TARGET_lower)$(if $(TARGETPATH),_$(subst /,_,$(TARGETPATH)),)
       
  6541 +INTERBASE_TMP:=$(OUTPUTPATH)/$(TARGET_lower)_$(notdir $(basename $(SOURCE)))
       
  6542  
       
  6543 -################################## localisation ###########################$(GNUMKDIR)#############
       
  6544 -# Only make copies for full resource builds
       
  6545  
       
  6546 -# Initialise to prevent RELEASABLES spill-over between calls
       
  6547 -DESTRPP:=
       
  6548 -INFOFILE:=
       
  6549 -
       
  6550 -ifeq ($(HEADERONLY),)
       
  6551 -
       
  6552 -RSSBASENAME:=$(call lowercase,$(basename $(notdir $(SOURCE))))
       
  6553 -DESTRPP:=$(EPOCROOT)/epoc32/localisation/$(RSSBASENAME)/rsc/$(RSSBASENAME).rpp
       
  6554 -$(call makepath,$(EPOCROOT)/epoc32/localisation/$(RSSBASENAME)/rsc)
       
  6555 +# common pre-processor options
       
  6556  
       
  6557 -INFOFILE:=$(EPOCROOT)/epoc32/localisation/group/$(RSSBASENAME).info
       
  6558 -# If there are MULTIPLE languages then copy the .rpp for the last one
       
  6559 -RPPLANG:=$(lastword $(LANGUAGES:SC=sc))
       
  6560 +# We really should be using -iquote with a recent cpp.  This is a note for when we do update:
       
  6561 +#CPPOPT:=-nostdinc -undef -Wno-trigraphs -D_UNICODE -include $(PRODUCT_INCLUDE)\
       
  6562 +# -I$(dir $(SOURCE)) $(foreach I, $(USERINCLUDE),-iquote $(I) ) $(foreach J,$(SYSTEMINCLUDE),-I $(J) )
       
  6563  
       
  6564 -# Copy .rpp files from epoc32/build/ to epoc32/localisation/x/rsc/x.rpp and create .info files in localisation
       
  6565 -define CreateRppAndInfo
       
  6566 +CPPOPT:=-nostdinc -undef -Wno-trigraphs -D_UNICODE -include $(PRODUCT_INCLUDE)\
       
  6567 + -I$(dir $(SOURCE)) $(foreach I, $(USERINCLUDE),-I$(I) ) -I- $(foreach J,$(SYSTEMINCLUDE),-I$(J) )
       
  6568  
       
  6569 -ifeq ($(RESOURCE_$(call sanitise,$(SOURCE))),)
       
  6570 -RESOURCE_$(call sanitise,$(SOURCE)):=1
       
  6571 +CREATABLEPATHS:=$(CREATABLEPATHS) $(RSCDIR) $(RSGDIR) $(OUTPUTPATH) 
       
  6572  
       
  6573 -RESOURCE:: $(DESTRPP) $(INFOFILE)
       
  6574 +# We intend to generate the resource in an intermediate location and copy to the targetpath to
       
  6575 +# ensure that when the "same" resource is built into separare target paths, it doesn't have to be 
       
  6576 +# completely recreated each time - just copied.
       
  6577 +RSCCOPYDIRS:=$(RSCDIR)
       
  6578  
       
  6579 -$(DESTRPP): $(INTERBASE)_$(RPPLANG).rpp
       
  6580 -	$(call startrule,rppfilecopy,FORCESUCCESS) \
       
  6581 -	$(GNUCP) $$< $$@ \
       
  6582 -	$(call endrule,rppfilecopy)
       
  6583 +# additional binary resource copies performed based on BINCOPYDIRS
       
  6584 +ifneq ($(BINCOPYDIRS),)
       
  6585 +        RSCCOPYDIRS:=$(RSCCOPYDIRS) $(subst //,/,$(patsubst %,%/$(if $(TARGETPATH),/z/$(TARGETPATH),),$(BINCOPYDIRS)))
       
  6586 +endif
       
  6587 +CREATABLEPATHS:=$(CREATABLEPATHS) $(RSCCOPYDIRS)
       
  6588  
       
  6589 -$(INFOFILE)::
       
  6590 -	@if [ ! -d $(EPOCROOT)/epoc32/localisation/group ]; then $(GNUMKDIR) -p $(EPOCROOT)/epoc32/localisation/group; fi
       
  6591 -	@if [ ! -f $$@ ]; then echo "DATADIR: /$(RSSBASENAME)" > $$@ ; fi
       
  6592 -	@echo -e "\n/z$(TARGETPATH)/$(TARGET_lower).rsc : $(RSSBASENAME).rpp" >> $$@
       
  6593 +###############################################################################
  6249  
  6594  
  6250 -CLEANTARGETS:=$$(CLEANTARGETS) $(DESTRPP) $(INFOFILE)
  6595 -CLEANTARGETS:=$$(CLEANTARGETS) $(DESTRPP) $(INFOFILE)
       
  6596  
       
  6597 -endif
       
  6598 -endef
       
  6599 +define preprocessresource
       
  6600 +# $1 is the RPPFILE		(eg. /epoc32/build/xxx/b_sc.rpp)
       
  6601 +# $2 is the LANGUAGE		(eg. sc or 01 or 02 ...)
       
  6602 +# $3 is the "primary" language on which all the others depend
       
  6603  
       
  6604 -$(eval $(call CreateRppAndInfo))
       
  6605 -endif
       
  6606 -################################# end of localisation ###################################
       
  6607 +  ifeq ($(TARGET_$(call sanitise,$1)),)
       
  6608 +    TARGET_$(call sanitise,$1):=1
       
  6609 +    $(if $(FLMDEBUG),$$(info <debug>preprocessresource: $1 LANG:$2 dep $3</debug>))
       
  6610  
       
  6611 -# make the output directories while reading makefile - some build engines prefer this
       
  6612 -$(call makepath,$(INTERBASE))
       
  6613  
       
  6614 -# common pre-processor options
       
  6615 -CPPOPT:=-nostdinc -undef -D_UNICODE -include $(PRODUCT_INCLUDE)\
       
  6616 - -I$(dir $(SOURCE)) $(foreach I, $(USERINCLUDE),-I$(I) ) -I- $(foreach J,$(SYSTEMINCLUDE),-I$(J) )
       
  6617 +    # Correct dependency information when a header file can't be found.
       
  6618 +    # If the c preprocessor can't find a dependency it appears as it did in the #include statement
       
  6619 +    # e.g. "filename.mbg" or "filename.rsg" in the dependency file.
       
  6620 +
       
  6621 +ifneq ($(NO_DEPEND_GENERATE),)
       
  6622 +    # This version minimises the size of dependency files, to contain only .mbg and .rsg deps.
       
  6623 +    # It allows resources to be built in the right order but doesn't impose the weight of
       
  6624 +    # of full dependency information which can overwhelm make in large builds.
       
  6625 +    # The strategy is filter lines which don't have .rsg or .mbg dependencies in them and
       
  6626 +    # to sift each line to leave out non-relevant things like other header files, .hrh 
       
  6627 +    # files etc.  In the end don't print anything at all if we did not find the target.
       
  6628  
       
  6629 -CREATABLEPATHS:=$(RSCDIR) $(RSGDIR) $(OUTPUTPATH)
       
  6630 +define  DEPENDENCY_CORRECTOR
       
  6631 +{ $(DEPCRUNCH) --extensions rsg,mbg --assume '$$$$(EPOCROOT)/epoc32/include' ; } 
       
  6632 +endef
       
  6633  
       
  6634 -# additional binary resource copies performed based on BINCOPYDIRS
       
  6635 -RSCCOPYDIRS:=
       
  6636 -ifneq ($(BINCOPYDIRS),)
       
  6637 -        RSCCOPYDIRS:=$(subst //,/,$(patsubst %,%/$(if $(TARGETPATH),/z/$(TARGETPATH),),$(BINCOPYDIRS)))
       
  6638 -        CREATABLEPATHS:=$(CREATABLEPATHS) $(RSCCOPYDIRS)
       
  6639 +else
       
  6640 +    # This can correct the dependencies by assuming that the file will be in epoc32\include as this is the default
       
  6641 +    DEPENDENCY_CORRECTOR:=$(GNUSED)  -r 's% ([^ \/]+\.((rsg)|(mbg)))% $(EPOCROOT)\/epoc32\/include\/\1%ig' 
       
  6642  endif
       
  6643  
       
  6644 -###############################################################################
       
  6645 -define preprocessresource
       
  6646 -# $(1) is the RPPFILE		(eg. /epoc32/build/xxx/b_sc.rpp)
       
  6647 -# $(2) is the related RESOURCEFILE if any (eg. /a/b.rsc)
       
  6648 -# $(3) is the LANGUAGE		(eg. sc or 01 or 02 ...)
       
  6649  
       
  6650 -  ifeq ($(TARGET_$(call sanitise,$1)),)
       
  6651 -    TARGET_$(call sanitise,$1):=1
       
  6652 -    $(if $(FLMDEBUG),$(info preprocessresource: $(1) for $(2) LANG:$(3)))
       
  6653 +    ifeq "$1" "$3"
       
  6654 +        RESOURCE_DEPS:: $1.d
       
  6655  
       
  6656 -    RESOURCE_DEPS:: $(1).d
       
  6657 -    $(1).d: $(SOURCE)
       
  6658 +        $1.d: $(SOURCE)
       
  6659  	  $(call startrule,resourcedependencies,FORCESUCCESS) \
       
  6660 -	  $(GNUCPP) -C -DLANGUAGE_$(3) -DLANGUAGE_$(subst sc,SC,$(3)) $(call makemacrodef,-D,$(MMPDEFS))\
       
  6661 -	  $(CPPOPT) $(SOURCE) -M -MG -MT"$(1)" | \
       
  6662 -	  $(GNUSED)  -r 's# ([^ \/]+\.((rsg)|(mbg)))# $(EPOCROOT)\/epoc32\/include\/\1#ig' > $(1).d \
       
  6663 +	  $(GNUCPP) -DLANGUAGE_$2 -DLANGUAGE_$(subst sc,SC,$2) $(call makemacrodef,-D,$(MMPDEFS))\
       
  6664 +	  $(CPPOPT) $(SOURCE) -M -MG -MT"$1" | \
       
  6665 +	  $$(DEPENDENCY_CORRECTOR) >$$@ \
       
  6666  	  $(call endrule,resourcedependencies)
       
  6667  
       
  6668 -    $(1): $(1).d
       
  6669 +         $1 : $1.d
       
  6670 +
       
  6671 +    else
       
  6672 +         $1 : $3
       
  6673 +    endif
       
  6674 +
       
  6675 +    $1:
       
  6676  	  $(call startrule,resourcepreprocess,FORCESUCCESS) \
       
  6677 -	  $(GNUCPP) -C -DLANGUAGE_$(3) -DLANGUAGE_$(subst sc,SC,$(3)) $(call makemacrodef,-D,$(MMPDEFS))\
       
  6678 +	  $(GNUCPP) -C -DLANGUAGE_$2 -DLANGUAGE_$(subst sc,SC,$2) $(call makemacrodef,-D,$(MMPDEFS))\
       
  6679  	  $(CPPOPT) $(SOURCE) -o $$@ \
       
  6680  	  $(call endrule,resourcepreprocess)
       
  6681 +    endif
       
  6682  
       
  6683 -    CLEANTARGETS:= $$(CLEANTARGETS) $(1)
       
  6684 +    CLEANTARGETS:= $$(CLEANTARGETS) $1
       
  6685  
       
  6686 -    $(eval DEPENDFILENAME:=$(1).d)
       
  6687 +    ifeq "$(MAKEFILE_GROUP)" "RESOURCE"
       
  6688 +    ifeq "$1" "$3"
       
  6689 +      $(eval DEPENDFILENAME:=$1.d)
       
  6690      $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
       
  6691  
       
  6692      CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
       
  6693      ifneq "$(DEPENDFILE)" ""
       
  6694        ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
       
  6695 +          ifeq "$(MAKEFILE_GROUP)" "RESOURCE"
       
  6696          -include $(DEPENDFILE)
       
  6697        endif
       
  6698      endif
       
  6699 +      endif
       
  6700 +    endif
       
  6701  
       
  6702    endif
       
  6703  endef # preprocessresource #
       
  6704 @@ -168,43 +170,30 @@
       
  6705  ###############################################################################
       
  6706  define copyresource
       
  6707  # $(1) is the source
       
  6708 -# $(2) is the destination
       
  6709 +# $(2) is the space separated list of destinations which must be filenames
       
  6710  
       
  6711 -RELEASABLES:=$$(RELEASABLES) $(2)
       
  6712 +   RELEASABLES:=$$(RELEASABLES) $(2)
       
  6713  
       
  6714 -   ifeq ($(TARGET_$(call sanitise,$2)),)
       
  6715 -           TARGET_$(call sanitise,$2):=1
       
  6716 -        CLEANTARGETS:=$$(CLEANTARGETS) $2
  6251 -
  6717 -
  6252  endif
  6718 -        RESOURCE:: $2
  6253  endef
  6719 -        ## perform additional copies of binaries
  6254  
  6720 -        #
  6255 @@ -114,7 +112,7 @@
  6721 -        # Only certain builds require further copies of the generated resource binaries
  6256  $(call makepath,$(INTERBASE))
  6722 -        #
  6257  
  6723 -        $(2): $(1)
  6258  # common pre-processor options
  6724 -		$(call startrule,resourcecopy,FORCESUCCESS) \
  6259 -CPPOPT:=-nostdinc -undef -D_UNICODE -include $(PRODUCT_INCLUDE)\
  6725 -		$(GNUCP) $$< $$@ \
  6260 +CPPOPT:=-nostdinc -undef -Wno-trigraphs -D_UNICODE -include $(PRODUCT_INCLUDE)\
  6726 -		$(call endrule,resourcecopy)
  6261   -I$(dir $(SOURCE)) $(foreach I, $(USERINCLUDE),-I$(I) ) -I- $(foreach J,$(SYSTEMINCLUDE),-I$(J) )
  6727 -
  6262  
  6728 -   endif
  6263  CREATABLEPATHS:=$(RSCDIR) $(RSGDIR) $(OUTPUTPATH)
  6729 +   $(info <finalcopy source='$1'>$2</finalcopy>)
  6264 @@ -174,7 +172,6 @@
  6730  
  6265  
  6731  endef # copyresource #
  6266     ifeq ($(TARGET_$(call sanitise,$2)),)
  6732  
  6267             TARGET_$(call sanitise,$2):=1
  6733  ###############################################################################
  6268 -        CLEANTARGETS:=$$(CLEANTARGETS) $2
  6734  define generateresource
  6269  
  6735  
  6270          RESOURCE:: $2
  6736 -# $(1) is the resource filename e.g. /a/b/resource.rsc
  6271          ## perform additional copies of binaries
  6737 +# $(1) is the intermediate resource filename with path e.g. /a/b/resource.rsc
  6272 @@ -201,7 +198,6 @@
  6738  # $(2) is the preprocessed resource to make it from
       
  6739  # $(3) is the language e.g. sc or 01 or 02
       
  6740 +# $(4) is the target resource filename without path
       
  6741  
       
  6742 -    RELEASABLES:=$$(RELEASABLES) $(1)
  6273  
  6743  
  6274          ifeq ($(TARGET_$(call sanitise,$1)),)
  6744          ifeq ($(TARGET_$(call sanitise,$1)),)
  6275                  TARGET_$(call sanitise,$1):=1
  6745                  TARGET_$(call sanitise,$1):=1
  6276 -            CLEANTARGETS:=$$(CLEANTARGETS) $(1)
  6746 -            CLEANTARGETS:=$$(CLEANTARGETS) $(1)
  6277  
  6747  
  6278              $(if $(FLMDEBUG),$(info generateresource: $(1) from $(2) LANG:$(3)),)
  6748 -            $(if $(FLMDEBUG),$(info generateresource: $(1) from $(2) LANG:$(3)),)
  6279  
  6749 +            $(if $(FLMDEBUG),$(info <debug>generateresource: $(1) from $(2) LANG:$(3)</debug>),)	
  6280 @@ -236,7 +232,6 @@
  6750 +            $(if $(FLMDEBUG),$(info <debug>generateresource: copies: $(sort $(patsubst %,%/$(notdir $(1)),$(RSCCOPYDIRS)))</debug>))
       
  6751  
       
  6752 +            CLEANTARGETS:=$$(CLEANTARGETS) $(1)
       
  6753  
       
  6754              RESOURCE:: $(1)
       
  6755  
       
  6756 @@ -214,11 +203,15 @@
       
  6757  			$(call endrule,resourcecompile)
       
  6758  
       
  6759          endif
       
  6760 +
       
  6761  #	Whether or not we have generated this resource for some other variant, check if there
       
  6762  #       are any new copies to be made for this variant. e.g. winscw requires that we make
       
  6763 -#       some extra copies.
       
  6764 +#       some extra copies.  We tried to copy after running rcomp itself but we still need these
       
  6765 +#       targets for the sake of dependencies or, for example, if someone merely adds a new copy 
       
  6766 +#       when the resource is up-to-date
       
  6767 +
       
  6768 +        $(call copyresource,$1,$(sort $(patsubst %,%/$4,$(RSCCOPYDIRS))))
       
  6769  
       
  6770 -        $(foreach F,$(sort $(patsubst %,%/$(notdir $(1)),$(RSCCOPYDIRS))),$(call copyresource,$(1),$(F)))
       
  6771  
       
  6772          # individual source file compilation
       
  6773          SOURCETARGET_$(call sanitise,$(SOURCE)): $(1)
       
  6774 @@ -236,8 +229,7 @@
  6281  
  6775  
  6282          ifeq ($(TARGET_$(call sanitise,$1)),)
  6776          ifeq ($(TARGET_$(call sanitise,$1)),)
  6283                  TARGET_$(call sanitise,$1):=1
  6777                  TARGET_$(call sanitise,$1):=1
  6284 -                CLEANTARGETS:= $$(CLEANTARGETS) $(1)
  6778 -                CLEANTARGETS:= $$(CLEANTARGETS) $(1)
  6285                  $(if $(FLMDEBUG),$(info resourceheader: $(1) from $(2) LANG:$(3)))
  6779 -                $(if $(FLMDEBUG),$(info resourceheader: $(1) from $(2) LANG:$(3)))
       
  6780 +                $(if $(FLMDEBUG),$(info <debug>resourceheader: $(1) from $(2) LANG:$(3)</debug>))
  6286  
  6781  
  6287                  RESOURCE:: $(1)
  6782                  RESOURCE:: $(1)
  6288 @@ -282,7 +277,6 @@
  6783  
       
  6784 @@ -260,19 +252,28 @@
       
  6785  # We always create at least the header
       
  6786  # even if we sometimes don't create the resources
       
  6787  ifneq ($(RESOURCEHEADER),)
       
  6788 -        $(eval $(call generateresourceheader,$(RESOURCEHEADER),$(INTERBASE)_$(HEADLANG).rpp,$(HEADLANG)))
       
  6789 +        $(eval $(call generateresourceheader,$(RESOURCEHEADER),$(INTERBASE_TMP)_$(HEADLANG).rpp,$(HEADLANG)))
       
  6790  endif
       
  6791  
       
  6792 +# The one on which the others will depend i.e. they will 
       
  6793 +# "sit in it's dependency slipstream" or in other words
       
  6794 +# We only have to make one dependency file because all of
       
  6795 +# the other languages will benefit from the dependency file
       
  6796 +# belonging to this language.
       
  6797 +PRIMARYRPPFILE:=$(INTERBASE_TMP)_$(HEADLANG).rpp
       
  6798  ifeq ($(HEADERONLY),)
       
  6799          # generate a resource file for each language
       
  6800          # For sc we generate $(RESBASE).rsc and define LANGUAGE_SC and LANGUAGE_sc.
       
  6801 -        $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call preprocessresource,$(INTERBASE)_$(L).rpp,$(RESBASE).r$(L),$(L))))
       
  6802 -        $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call generateresource,$(RESBASE).r$(L),$(INTERBASE)_$(L).rpp,$(L))))
       
  6803 +        $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call preprocessresource,$(INTERBASE_TMP)_$(L).rpp,$(L),$(PRIMARYRPPFILE))))
       
  6804 +
       
  6805 +        ifeq "$(MAKEFILE_GROUP)" "RESOURCE"
       
  6806 +            $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call generateresource,$(INTERBASE_TMP).r$(L),$(INTERBASE_TMP)_$(L).rpp,$(L),$(TARGET_lower).r$(L))))
       
  6807 +        endif
       
  6808  else
       
  6809          # No resources are going to be made so unless we specifically ask for it, there will be no
       
  6810          # preprocessed file from which to create the header:
       
  6811  
       
  6812 -        $(eval $(call preprocessresource,$(INTERBASE)_$(HEADLANG).rpp,,$(HEADLANG)))
       
  6813 +        $(eval $(call preprocessresource,$(INTERBASE_TMP)_$(HEADLANG).rpp,,$(HEADLANG),$(PRIMARYRPPFILE)))
       
  6814  
       
  6815  endif
       
  6816  
       
  6817 @@ -282,20 +283,19 @@
  6289  ifneq ($(RFIFILE),)
  6818  ifneq ($(RFIFILE),)
  6290    RESOURCE:: $(RFIFILE)
  6819    RESOURCE:: $(RFIFILE)
  6291    RELEASABLES:=$(RELEASABLES) $(RFIFILE)
  6820    RELEASABLES:=$(RELEASABLES) $(RFIFILE)
  6292 -  CLEANTARGETS:=$(CLEANTARGETS) $(RFIFILE)
  6821 -  CLEANTARGETS:=$(CLEANTARGETS) $(RFIFILE)
  6293    CREATABLEPATHS:=$(CREATABLEPATHS) $(dir $(RFIFILE))
  6822 -  CREATABLEPATHS:=$(CREATABLEPATHS) $(dir $(RFIFILE))
  6294  
  6823 +  CREATABLEPATHS:=$(CREATABLEPATHS) $(dir $(RFIFILE))/
  6295    RPPFILES:=$(foreach L,$(LANGUAGES:SC=sc),$(INTERBASE)_$(L).rpp)
  6824  
  6296 @@ -291,11 +285,11 @@
  6825 -  RPPFILES:=$(foreach L,$(LANGUAGES:SC=sc),$(INTERBASE)_$(L).rpp)
       
  6826 -  $(eval $(call generaterfifile,$(RFIFILE),$(RPPFILES),$(addsuffix .d,$(RPPFILES))))
       
  6827 +  RPPFILES:=$(foreach L,$(LANGUAGES:SC=sc),$(INTERBASE_TMP)_$(L).rpp)
       
  6828 +  $(eval $(call generaterfifile,$(RFIFILE),$(RPPFILES),$(PRIMARYRPPFILE).d))
       
  6829  endif
  6297  
  6830  
  6298  
  6831  
  6299  ## Clean up
  6832  ## Clean up
  6300 -$(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS),$(CREATABLEPATHS),))
  6833 -$(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS),$(CREATABLEPATHS),))
  6301 +$(call raptor_clean,$(CLEANTARGETS))
  6834 +$(call raptor_clean,$(CLEANTARGETS))
  6309 +$(call raptor_release,$(RELEASABLES),RESOURCE)
  6842 +$(call raptor_release,$(RELEASABLES),RESOURCE)
  6310  
  6843  
  6311 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm: run.mk
  6844 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm: run.mk
  6312 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/standard.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/standard.xml
  6845 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/standard.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/standard.xml
  6313 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/standard.xml	2010-05-18 19:32:34.737348805 +0100
  6846 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/standard.xml	2010-05-18 19:32:34.737348805 +0100
  6314 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/standard.xml	2010-05-17 18:47:53.056842000 +0100
  6847 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/standard.xml	2010-06-04 12:09:24.987850000 +0100
  6315 @@ -5,11 +5,12 @@
  6848 @@ -5,11 +5,12 @@
  6316  		<param name='ALWAYS_BUILD_AS_ARM' default=''/>
  6849  		<param name='ALWAYS_BUILD_AS_ARM' default=''/>
  6317  		<param name='SET_ARMINC' default=''/>
  6850  		<param name='SET_ARMINC' default=''/>
  6318  		<param name='ARMLIBS' default=''/>
  6851  		<param name='ARMLIBS' default=''/>
  6319 -		<param name='ARMFPU' default='softvfp'/>
  6852 -		<param name='ARMFPU' default='softvfp'/>
  6333  		<param name='FIRSTLIB' default=''/>
  6866  		<param name='FIRSTLIB' default=''/>
  6334 +		<param name='INFLATECOMPRESSTARGET' default=''/>
  6867 +		<param name='INFLATECOMPRESSTARGET' default=''/>
  6335  		<param name='LINKEROPTION_ARMCC' default=''/>
  6868  		<param name='LINKEROPTION_ARMCC' default=''/>
  6336  		<param name='LISTING_OPTION' default='-S'/>
  6869  		<param name='LISTING_OPTION' default='-S'/>
  6337  		<param name='MMPDEFS' default=''/>
  6870  		<param name='MMPDEFS' default=''/>
  6338 @@ -58,9 +60,9 @@
  6871 @@ -38,6 +40,7 @@
       
  6872  		<param name='SOURCE' default=''/>
       
  6873  		<param name='TARGET'/>
       
  6874  		<param name='TARGET_lower'/>
       
  6875 +		<param name='TARGETPATH' default=''/>
       
  6876  		<param name='LTCG' default=''/>
       
  6877  		<param name='LTCG_OPTION' default='--ltcg'/>
       
  6878  		<param name='TARGETTYPE'/>
       
  6879 @@ -58,9 +61,9 @@
  6339  		<param name='EPOCSTACKSIZE' default=''/>
  6880  		<param name='EPOCSTACKSIZE' default=''/>
  6340  		<param name='EPOCFIXEDPROCESS' default=''/>
  6881  		<param name='EPOCFIXEDPROCESS' default=''/>
  6341  		<param name='EPOCALLOWDLLDATA' default=''/>
  6882  		<param name='EPOCALLOWDLLDATA' default=''/>
  6342 +		<param name='EPOCNESTEDEXCEPTIONS' default=''/>
  6883 +		<param name='EPOCNESTEDEXCEPTIONS' default=''/>
  6343  		<param name='PLATMACROS.WINDOWS' default=''/>
  6884  		<param name='PLATMACROS.WINDOWS' default=''/>
  6344  		<param name='PLATMACROS.LINUX' default=''/>
  6885  		<param name='PLATMACROS.LINUX' default=''/>
  6345 -		<param name='MAKEDEFFILE' default='1'/>
  6886 -		<param name='MAKEDEFFILE' default='1'/>
  6346  		<param name='STDCPP' default=''/>
  6887  		<param name='STDCPP' default=''/>
  6347  		<param name='NOSTDCPP' default=''/>
  6888  		<param name='NOSTDCPP' default=''/>
  6348  		<param name='NEWLIB' default=''/>
  6889  		<param name='NEWLIB' default=''/>
  6349 @@ -72,7 +74,6 @@
  6890 @@ -72,7 +75,7 @@
  6350  		<param name='CC.VAL.SOFTVFP_MAYBE_VFPV2' default=''/>
  6891  		<param name='CC.VAL.SOFTVFP_MAYBE_VFPV2' default=''/>
  6351  		<param name='CODE_SEGMENT_START' default=''/>
  6892  		<param name='CODE_SEGMENT_START' default=''/>
  6352  		<param name='TOOLCHAIN' default=''/>
  6893  		<param name='TOOLCHAIN' default=''/>
  6353 -		<param name='TOOLCHAINVERSION' default=''/>
  6894 -		<param name='TOOLCHAINVERSION' default=''/>
       
  6895 +		<param name='USE_RVCT22_DELETE_WORKAROUND' default=''/>
  6354  	</interface>
  6896  	</interface>
  6355  	<interface name="Symbian.e32abiv2" extends="Symbian.mmp" flm="e32abiv2.flm">
  6897  	<interface name="Symbian.e32abiv2" extends="Symbian.mmp" flm="e32abiv2.flm">
  6356  		<param name='SUPPORTS_STDCPP_NEWLIB' default='1'/>
  6898  		<param name='SUPPORTS_STDCPP_NEWLIB' default='1'/>
  6357 @@ -92,8 +93,9 @@
  6899 @@ -92,8 +95,9 @@
  6358  		<param name='CFLAGS'/>
  6900  		<param name='CFLAGS'/>
  6359  		<param name='COMMANDFILE_OPTION'/>
  6901  		<param name='COMMANDFILE_OPTION'/>
  6360  		<param name='COMPILE_ONLY_OPTION'/>
  6902  		<param name='COMPILE_ONLY_OPTION'/>
  6361 +		<param name='COMPILER_FPU_DEFAULT'/>
  6903 +		<param name='COMPILER_FPU_DEFAULT'/>
  6362 +		<param name='COMPILER_FPU_OPTION'/>
  6904 +		<param name='COMPILER_FPU_OPTION'/>
  6363  		<param name='COMPILER_CIA_FLAGS'/>
  6905  		<param name='COMPILER_CIA_FLAGS'/>
  6364 -		<param name='COMPILER_FPU_FLAGS'/>
  6906 -		<param name='COMPILER_FPU_FLAGS'/>
  6365  		<param name='COMPILER_INTERWORK_DEFINES'/>
  6907  		<param name='COMPILER_INTERWORK_DEFINES'/>
  6366  		<param name='COMPILER_SYSTEM_INCLUDE_OPTION'/>
  6908  		<param name='COMPILER_SYSTEM_INCLUDE_OPTION'/>
  6367  		<param name='COMPILER_THUMB_DEFINES'/>
  6909  		<param name='COMPILER_THUMB_DEFINES'/>
  6368 @@ -105,7 +107,6 @@
  6910 @@ -105,7 +109,6 @@
  6369  		<param name='DEBUG_FORMAT'/>
  6911  		<param name='DEBUG_FORMAT'/>
  6370  		<param name='DEBUG_INFO'/>
  6912  		<param name='DEBUG_INFO'/>
  6371  		<param name='DEPEND_OPTION'/>
  6913  		<param name='DEPEND_OPTION'/>
  6372 -		<param name='DEPEND_SKIP' default=''/>
  6914 -		<param name='DEPEND_SKIP' default=''/>
  6373  		<param name='ELF2E32'/>
  6915  		<param name='ELF2E32'/>
  6374  		<param name='EFREEZE'/>
  6916  		<param name='EFREEZE'/>
  6375  		<param name='EFREEZE_REMOVE_OPTION' default=''/>
  6917  		<param name='EFREEZE_REMOVE_OPTION' default=''/>
  6376 @@ -116,6 +117,7 @@
  6918 @@ -116,14 +119,15 @@
  6377  		<param name='FEATURELISTFILES' default=''/>
  6919  		<param name='FEATURELISTFILES' default=''/>
  6378  		<param name='FEATUREVARIANT' default=''/>
  6920  		<param name='FEATUREVARIANT' default=''/>
  6379  		<param name='FEATUREVARIANTNAME' default=''/>
  6921  		<param name='FEATUREVARIANTNAME' default=''/>
  6380 +		<param name='FEATUREVARIANTSAFE' default=''/>
  6922 +		<param name='FEATUREVARIANTSAFE' default=''/>
  6381  		<param name='FPMODE_OPTION'/>
  6923  		<param name='FPMODE_OPTION'/>
  6382  		<param name='FROMELF'/>
  6924  		<param name='FROMELF'/>
  6383  		<param name='FULLVARIANTPATH'/>
  6925  		<param name='FULLVARIANTPATH'/>
  6384 @@ -124,6 +126,7 @@
  6926 -		<param name='GENERATE_ABIV1_IMPLIBS' default=''/>		
       
  6927  		<param name='RVCT3_1' default=''/>
  6385  		<param name='LD'/>
  6928  		<param name='LD'/>
  6386  		<param name='LD_ERRORS_CONTROL_OPTION'/>
  6929  		<param name='LD_ERRORS_CONTROL_OPTION'/>
  6387  		<param name='LD_WARNINGS_CONTROL_OPTION'/>
  6930  		<param name='LD_WARNINGS_CONTROL_OPTION'/>
  6388 +		<param name='LD_WARNINGS_SUPPRESSION_ARMLIBS' default='' />
  6931 +		<param name='LD_WARNINGS_SUPPRESSION_ARMLIBS' default='' />
  6389  		<param name='LIBPATH'/>
  6932  		<param name='LIBPATH'/>
  6390  		<param name='LICENSERETRY_OPTION' default=''/>
  6933  		<param name='LICENSERETRY_OPTION' default=''/>
  6391  		<param name='LINKER_ADD_STATIC_RUNTIME'/>
  6934  		<param name='LINKER_ADD_STATIC_RUNTIME'/>
  6392 @@ -144,6 +147,8 @@
  6935 @@ -144,6 +148,8 @@
  6393  		<param name='PERL'/>
  6936  		<param name='PERL'/>
  6394  		<param name='PERTURBSTARTTIME'/>
  6937  		<param name='PERTURBSTARTTIME'/>
  6395  		<param name='PERTURBMSECS' default='500'/>
  6938  		<param name='PERTURBMSECS' default='500'/>
  6396 +		<param name='POSTLINKER_COMPRESSION_DEFAULT'/>
  6939 +		<param name='POSTLINKER_COMPRESSION_DEFAULT'/>
  6397 +		<param name='POSTLINKER_FPU_DEFAULT'/>
  6940 +		<param name='POSTLINKER_FPU_DEFAULT'/>
  6398  		<param name='PREPDEF'/>
  6941  		<param name='PREPDEF'/>
  6399  		<param name='PREINCLUDE'/>
  6942  		<param name='PREINCLUDE'/>
  6400  		<param name='PREINCLUDE_OPTION'/>
  6943  		<param name='PREINCLUDE_OPTION'/>
  6401 @@ -158,6 +163,7 @@
  6944 @@ -158,6 +164,7 @@
  6402  		<param name='RVCTBIN'/>
  6945  		<param name='RVCTBIN'/>
  6403  		<param name='RVCTINC'/>
  6946  		<param name='RVCTINC'/>
  6404  		<param name='RVCTLIB'/>
  6947  		<param name='RVCTLIB'/>
  6405 +		<param name='RW_BASE'/>
  6948 +		<param name='RW_BASE'/>
  6406  		<param name='RW_BASE_OPTION'/>
  6949  		<param name='RW_BASE_OPTION'/>
  6407  		<param name='SBSV1MAKE'/>
  6950  		<param name='SBSV1MAKE'/>
  6408  		<param name='NMAKE'/>
  6951  		<param name='NMAKE'/>
  6409 @@ -167,6 +173,7 @@
  6952 @@ -167,10 +174,12 @@
  6410  		<param name='SPLIT_OPTION'/>
  6953  		<param name='SPLIT_OPTION'/>
  6411  		<param name='KERNEL_STATIC_RUNTIME_LIB'/>
  6954  		<param name='KERNEL_STATIC_RUNTIME_LIB'/>
  6412  		<param name='USER_STATIC_RUNTIME_LIB'/>
  6955  		<param name='USER_STATIC_RUNTIME_LIB'/>
  6413 +		<param name='USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS'/>
  6956 +		<param name='USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS'/>
  6414  		<param name='STATIC_LIBS_LIST'/>
  6957  		<param name='STATIC_LIBS_LIST'/>
  6415  		<param name='STATIC_LIBS_PATH'/>
  6958  		<param name='STATIC_LIBS_PATH'/>
  6416  		<param name='STATIC_LIBRARY_DIR'/>
  6959  		<param name='STATIC_LIBRARY_DIR'/>
  6417 @@ -207,6 +214,10 @@
  6960  		<param name='STATIC_RUNTIME_DIR'/>
       
  6961 +		<param name='SUPPORTS_ABIV1_IMPLIBS'/>		
       
  6962  		<param name='SYMBIAN_CCFLAGS'/>
       
  6963  		<param name='SYMBIAN_LD_MESSAGE_OPTION'/>
       
  6964  		<param name='SYMBIAN_LINK_FLAGS'/>
       
  6965 @@ -207,6 +216,10 @@
  6418  		<param name='TARGETTYPE' default="dll"/>
  6966  		<param name='TARGETTYPE' default="dll"/>
  6419  		<param name='UID1' default="10000079"/>
  6967  		<param name='UID1' default="10000079"/>
  6420  	</interface>
  6968  	</interface>
  6421 +	<interface name="Symbian.pdll" extends="Symbian.e32abiv2" flm="e32abiv2pdll.flm">
  6969 +	<interface name="Symbian.pdll" extends="Symbian.e32abiv2" flm="e32abiv2pdll.flm">
  6422 +		<param name='TARGETTYPE' default="pdll"/>
  6970 +		<param name='TARGETTYPE' default="pdll"/>
  6423 +		<param name='UID1' default="10000079"/>
  6971 +		<param name='UID1' default="10000079"/>
  6424 +	</interface>
  6972 +	</interface>
  6425  	<interface name="Symbian.stddll" extends="Symbian.e32abiv2" flm="e32abiv2stddll.flm">
  6973  	<interface name="Symbian.stddll" extends="Symbian.e32abiv2" flm="e32abiv2stddll.flm">
  6426  		<param name='TARGETTYPE' default="stddll"/>
  6974  		<param name='TARGETTYPE' default="stddll"/>
  6427  		<param name='UID1' default="10000079"/>
  6975  		<param name='UID1' default="10000079"/>
  6428 @@ -229,6 +240,8 @@
  6976 @@ -229,6 +242,8 @@
  6429  	</interface>
  6977  	</interface>
  6430  	<interface name="Symbian.plugin" extends="Symbian.dll" flm="e32abiv2plugin.flm">
  6978  	<interface name="Symbian.plugin" extends="Symbian.dll" flm="e32abiv2plugin.flm">
  6431  	</interface>
  6979  	</interface>
  6432 +	<interface name="Symbian.plugin3" extends="Symbian.dll" flm="e32abiv2plugin.flm">
  6980 +	<interface name="Symbian.plugin3" extends="Symbian.dll" flm="e32abiv2plugin.flm">
  6433 +	</interface>
  6981 +	</interface>
  6434  	<interface name="Symbian.textnotifier2" extends="Symbian.dll" flm="e32abiv2textnotifier2.flm">
  6982  	<interface name="Symbian.textnotifier2" extends="Symbian.dll" flm="e32abiv2textnotifier2.flm">
  6435  	</interface>
  6983  	</interface>
  6436  	<interface name="Symbian.implib" extends="Symbian.dll" flm="e32abiv2implib.flm">
  6984  	<interface name="Symbian.implib" extends="Symbian.dll" flm="e32abiv2implib.flm">
  6437 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/stringtable.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/stringtable.flm
  6985 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/stringtable.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/stringtable.flm
  6438 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/stringtable.flm	2010-05-18 19:32:34.737348805 +0100
  6986 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/stringtable.flm	2010-05-18 19:32:34.737348805 +0100
  6439 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/stringtable.flm	2010-05-17 18:47:53.056842000 +0100
  6987 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/stringtable.flm	2010-06-04 12:09:24.987850000 +0100
  6440 @@ -33,9 +33,7 @@
  6988 @@ -33,9 +33,7 @@
  6441  
  6989  
  6442  EXPORT::
  6990  EXPORT::
  6443  
  6991  
  6444 -
  6992 -
  6483 -# $(EPOCROOT)epoc32\include\WspParamConstants.h : $(EPOCROOT)epoc32\build\generated\http\WspParamConstants.cpp
  7031 -# $(EPOCROOT)epoc32\include\WspParamConstants.h : $(EPOCROOT)epoc32\build\generated\http\WspParamConstants.cpp
  6484 -#         perl -S ecopyfile.pl $(EPOCROOT)epoc32\build\generated\http\WspParamConstants.h $(EPOCROOT)epoc32\include\WspParamConstants.h
  7032 -#         perl -S ecopyfile.pl $(EPOCROOT)epoc32\build\generated\http\WspParamConstants.h $(EPOCROOT)epoc32\include\WspParamConstants.h
  6485 -# 
  7033 -# 
  6486 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/template_ext.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/template_ext.flm
  7034 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/template_ext.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/template_ext.flm
  6487 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/template_ext.flm	2010-05-18 19:32:34.737348805 +0100
  7035 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/template_ext.flm	2010-05-18 19:32:34.737348805 +0100
  6488 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/template_ext.flm	2010-05-17 18:47:53.056842000 +0100
  7036 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/template_ext.flm	2010-06-04 12:09:24.991849000 +0100
  6489 @@ -81,11 +81,10 @@
  7037 @@ -81,11 +81,10 @@
  6490  # to be target specific to the unique targets
  7038  # to be target specific to the unique targets
  6491  # that we have created.
  7039  # that we have created.
  6492  
  7040  
  6493 -UNIQ:=$(TEMPLATE_EXTENSION_MAKEFILE)$(PLATFORM)$(TO_ROOT)$(TO_BLDINF)$(EPOCBLD)$(EXTENSION_ROOT)$(TEMCOUNT)
  7041 -UNIQ:=$(TEMPLATE_EXTENSION_MAKEFILE)$(PLATFORM)$(TO_ROOT)$(TO_BLDINF)$(EPOCBLD)$(EXTENSION_ROOT)$(TEMCOUNT)
  6525  	RVCTBIN RVCTINC RVCTLIB
  7073  	RVCTBIN RVCTINC RVCTLIB
  6526  
  7074  
  6527  
  7075  
  6528 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools2common.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2common.flm
  7076 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools2common.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2common.flm
  6529 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools2common.flm	2010-05-18 19:32:34.749348513 +0100
  7077 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools2common.flm	2010-05-18 19:32:34.749348513 +0100
  6530 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2common.flm	2010-05-17 18:47:53.068842000 +0100
  7078 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2common.flm	2010-06-04 12:09:25.003850000 +0100
  6531 @@ -1,4 +1,4 @@
  7079 @@ -1,4 +1,4 @@
  6532 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  7080 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  6533 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  7081 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  6534  # All rights reserved.
  7082  # All rights reserved.
  6535  # This component and the accompanying materials are made available
  7083  # This component and the accompanying materials are made available
  6607 +$(call raptor_release,$(RELEASABLES))
  7155 +$(call raptor_release,$(RELEASABLES))
  6608  
  7156  
  6609  ## The End
  7157  ## The End
  6610 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools2exe.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2exe.flm
  7158 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools2exe.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2exe.flm
  6611 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools2exe.flm	2010-05-18 19:32:34.749348513 +0100
  7159 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools2exe.flm	2010-05-18 19:32:34.749348513 +0100
  6612 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2exe.flm	2010-05-17 18:47:53.068842000 +0100
  7160 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2exe.flm	2010-06-04 12:09:25.003850000 +0100
  6613 @@ -1,4 +1,4 @@
  7161 @@ -1,4 +1,4 @@
  6614 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  7162 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  6615 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  7163 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  6616  # All rights reserved.
  7164  # All rights reserved.
  6617  # This component and the accompanying materials are made available
  7165  # This component and the accompanying materials are made available
  6656  	$(if $(SAVESPACE),; $(GNURM) -rf $(OUTPUTPATH); true,) \
  7204  	$(if $(SAVESPACE),; $(GNURM) -rf $(OUTPUTPATH); true,) \
  6657  	$(call endrule,tools2linkexe)
  7205  	$(call endrule,tools2linkexe)
  6658  
  7206  
  6659 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools2lib.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2lib.flm
  7207 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools2lib.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2lib.flm
  6660 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools2lib.flm	2010-05-18 19:32:34.749348513 +0100
  7208 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools2lib.flm	2010-05-18 19:32:34.749348513 +0100
  6661 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2lib.flm	2010-05-17 18:47:53.068842000 +0100
  7209 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2lib.flm	2010-06-04 12:09:25.003850000 +0100
  6662 @@ -19,7 +19,7 @@
  7210 @@ -19,7 +19,7 @@
  6663  LIBTARGET:=$(RELEASEPATH)/$(TARGET).a
  7211  LIBTARGET:=$(RELEASEPATH)/$(TARGET).a
  6664  
  7212  
  6665  ## Target groups
  7213  ## Target groups
  6666 -RELEASEABLES:=$(LIBTARGET)
  7214 -RELEASEABLES:=$(LIBTARGET)
  6668  TARGETS:=$(LIBTARGET)
  7216  TARGETS:=$(LIBTARGET)
  6669  
  7217  
  6670  ## Common build steps (compiling)
  7218  ## Common build steps (compiling)
  6671 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools.xml
  7219 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools.xml /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools.xml
  6672 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools.xml	2010-05-18 19:32:34.745348494 +0100
  7220 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tools.xml	2010-05-18 19:32:34.745348494 +0100
  6673 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools.xml	2010-05-17 18:47:53.068842000 +0100
  7221 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools.xml	2010-06-04 12:09:25.003850000 +0100
  6674 @@ -27,6 +27,7 @@
  7222 @@ -27,6 +27,7 @@
  6675  		<param name='SYSTEMINCLUDE' default=''/>
  7223  		<param name='SYSTEMINCLUDE' default=''/>
  6676  		<param name='TARGET'/>
  7224  		<param name='TARGET'/>
  6677  		<param name='TOOLSPATH'/>
  7225  		<param name='TOOLSPATH'/>
  6678 +		<param name='TOOLS2WIN32' default=''/>
  7226 +		<param name='TOOLS2WIN32' default=''/>
  6695  	</interface>
  7243  	</interface>
  6696  
  7244  
  6697  	<interface name="Tools.lib" extends="Tools.common" flm="tools2lib.flm">
  7245  	<interface name="Tools.lib" extends="Tools.common" flm="tools2lib.flm">
  6698 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tracecompiler.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tracecompiler.mk
  7246 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tracecompiler.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tracecompiler.mk
  6699 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tracecompiler.mk	2010-05-18 19:32:34.749348513 +0100
  7247 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/tracecompiler.mk	2010-05-18 19:32:34.749348513 +0100
  6700 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tracecompiler.mk	2010-05-17 18:47:53.068842000 +0100
  7248 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tracecompiler.mk	2010-06-04 12:09:25.007850000 +0100
  6701 @@ -1,5 +1,4 @@
  7249 @@ -1,5 +1,4 @@
  6702 -#
  7250 -#
  6703 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
  7251 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
  6704 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
  7252 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
  6705  # All rights reserved.
  7253  # All rights reserved.
  6706  # This component and the accompanying materials are made available
  7254  # This component and the accompanying materials are made available
  6707  # under the terms of the License "Eclipse Public License v1.0"
  7255  # under the terms of the License "Eclipse Public License v1.0"
  6708 @@ -13,15 +12,44 @@
  7256 @@ -13,61 +12,221 @@
  6709  #
  7257  #
  6710  # Description: 
  7258  # Description: 
  6711  # Run Trace Compiler on source files to generate trace headers and decode files
  7259  # Run Trace Compiler on source files to generate trace headers and decode files
  6712 -#
  7260 -#
  6713  
  7261  
       
  7262 +# Expected inputs:
       
  7263 +# TARGETEXT
       
  7264 +
  6714 +# Set project name as <mmp_name>
  7265 +# Set project name as <mmp_name>
  6715  TRACE_PRJNAME:=$(basename $(notdir $(PROJECT_META)))
  7266  TRACE_PRJNAME:=$(basename $(notdir $(PROJECT_META)))
  6716 +
  7267 -# Find out TRACE_PATH
  6717 +TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))
  7268 -TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces_$(TRACE_PRJNAME),$(DIR))))
  6718 +
  7269 -ifeq ($(TRACE_PATH),)
  6719  # Find out TRACE_PATH
  7270 -TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces,$(DIR))))
  6720 +# first look for .*/traces/traces_<target_name>_<target_extension>
  7271 +OLDTC_TRACE_PRJNAME:=$(TRACE_PRJNAME)
  6721 +TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces/traces_$(TARGET)_$(TARGETEXT),$(DIR))))
  7272 +TRACE_RELEASABLE_ID:=$(TARGET)_$(TARGETEXT)
  6722 +
  7273 +
       
  7274 +define get_trace_path
       
  7275 +$(firstword $(filter %$1, $(USERINCLUDE) $(SYSTEMINCLUDE)))
       
  7276 +endef
       
  7277 +
       
  7278 +$(if $(FLMDEBUG),$(info <debug>INCLUDES=$(USERINCLUDE) $(SYSTEMINCLUDE)</debug>))
       
  7279 +$(if $(FLMDEBUG),$(info <debug>TARGET=$(TARGET) TARGETEXT=$(TARGETEXT)</debug>))
       
  7280 +
       
  7281 +# Find out TRACE_PATH  by looking for the trace folder in SYSTEMINCLUDE and USERINCLUDES
       
  7282 +# traces/traces_<target_name>_<target_extension>
       
  7283 +TRACE_PATH:=$(call get_trace_path,/traces/traces_$(TRACE_RELEASABLE_ID))
  6723 +ifneq ($(TRACE_PATH),)
  7284 +ifneq ($(TRACE_PATH),)
  6724 +# set project name as <target_name>_<target_extension> instead of <mmp_name>
  7285 +  TRACE_PRJNAME:=$(TRACE_RELEASABLE_ID)
  6725 +TRACE_PRJNAME:=$(TARGET)_$(TARGETEXT)
  7286 +else # obsolete forms for compatibility
  6726 +endif
  7287 +  # traces_<target_name>_<target_ext>
  6727 +
  7288 +  TRACE_PATH:=$(call get_trace_path,/traces_$(TARGET)_$(TARGETEXT))
  6728 +# if not found look for .*/traces_<mmp_name>
  7289 +  ifneq ($(TRACE_PATH),)
  6729 +ifeq ($(TRACE_PATH),)
  7290 +    # set project name as <target_name>_<target_ext> instead of <mmp_name>
  6730  TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces_$(TRACE_PRJNAME),$(DIR))))
  7291 +    # to trick old TCom into finding the path.
  6731 +endif
  7292 +    OLDTC_TRACE_PRJNAME:=$(TARGET)_$(TARGETEXT)
  6732 +
  7293 +  else
  6733 +# if not found look for .*/traces
  7294 +    # traces_<target_name>_<target_type>
  6734  ifeq ($(TRACE_PATH),)
  7295 +    TRACE_PATH:=$(call get_trace_path,/traces_$(TARGET)_$(TARGETTYPE))
  6735  TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces,$(DIR))))
  7296 +    ifneq ($(TRACE_PATH),)
       
  7297 +      # set project name as <target_name>_<target_type> instead of <mmp_name>
       
  7298 +      # to trick old TCom into finding the path.
       
  7299 +      OLDTC_TRACE_PRJNAME:=$(TARGET)_$(TARGETTYPE)
       
  7300 +    else
       
  7301 +      # traces_<mmp_name>
       
  7302 +      TRACE_PATH:=$(call get_trace_path,/traces_$(TRACE_PRJNAME))
       
  7303 +   
       
  7304 +      # traces
       
  7305 +      ifeq ($(TRACE_PATH),)
       
  7306 +       TRACE_PATH:=$(call get_trace_path,/traces)
       
  7307 +      endif
       
  7308 +    endif
       
  7309 +  endif
  6736  endif
  7310  endif
  6737  
  7311  
  6738 +# if not found look for .*/traces_<target_name>_<target_type>
       
  6739 +ifeq ($(TRACE_PATH),)
       
  6740 +TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces_$(TARGET)_$(TARGETTYPE),$(DIR))))
       
  6741 +# set project name as <target_name>_<target_type> instead of <mmp_name>
       
  6742 +TRACE_PRJNAME:=$(TARGET)_$(TARGETTYPE)
       
  6743 +endif
       
  6744 +
  7312 +
  6745 +# initialise (so what output will be correct if we don't actually run the TC)
  7313 +# initialise (so what output will be correct if we don't actually run the TC)
  6746 +TRACE_DICTIONARY:=
  7314 +TRACE_DICTIONARY:=
  6747 +AUTOGEN_HEADER:=
  7315 +AUTOGEN_HEADER:=
  6748 +
  7316 +$(if $(FLMDEBUG),$(info <debug>TRACE_PATH='$(TRACE_PATH)'   TRACE_RELEASABLE_ID='$(TRACE_RELEASABLE_ID)'</debug>))
  6749 +$(if $(FLMDEBUG),$(info <debug>TRACE_PATH = $(TRACE_PATH)</debug>))
       
  6750 +
  7317 +
  6751  # Run trace compiler only if TRACE_PATH exists
  7318  # Run trace compiler only if TRACE_PATH exists
  6752  ifneq ($(TRACE_PATH),)
  7319  ifneq ($(TRACE_PATH),)
  6753  TRACE_MARKER:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_PRJNAME)_$(UID_TC).done
  7320 -TRACE_MARKER:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_PRJNAME)_$(UID_TC).done
  6754 @@ -37,14 +65,24 @@
  7321 +TRACE_MARKER:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).done
       
  7322  TRACE_HEADERS:=
       
  7323  
       
  7324 -TRACE_SOURCE_LIST:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_PRJNAME)_$(UID_TC).sourcelist
       
  7325 +TRACE_SOURCE_LIST:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).sourcelist
       
  7326 +TRACE_VARIANT_SOURCE_LIST:=$(OUTPUTPATH)/$(VARIANTPLATFORM)/$(VARIANTTYPE)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).sourcelist
       
  7327 +
       
  7328 +# The sourcelist_grouped_write macro allows us to construct a source list file, 10 objects at a time
       
  7329 +# to avoid limits on argument lengths and sizes on Windows.
       
  7330 +# $1 = list of source files
       
  7331 +# $2 = ">" or ">>" i.e. for creating the file.
       
  7332 +define sourcelist_grouped_write
       
  7333 +	$(call startrule,sourcelist_write) \
       
  7334 +	$(if $1,echo -en '$(subst $(CHAR_SPACE),\n,$(strip $(wordlist 1,10,$1)))\n' $2 $$@,true) \
       
  7335 +	$(call endrule,sourcelist_write) 
       
  7336 +	$(if $1,$(call sourcelist_grouped_write,$(wordlist 11,$(words $1),$1),>>),)
       
  7337 +endef
       
  7338 +
       
  7339 +# Write the list of sources for this variant to a file
       
  7340 +# Make the combined sourcelist for this target depend on it
       
  7341 +# It's all to do with how make treats this file when it 
       
  7342 +# does exist. We are forcing it evaluate the target rule here 
       
  7343 +# even if the file is in place by making it PHONY. In other 
       
  7344 +# words, this is forcing the variant source list to always 
       
  7345 +# be written but later on we might not write to the combined 
       
  7346 +# source list if it isn't going to change.
       
  7347 +define sourcelist_write
       
  7348 +$(TRACE_SOURCE_LIST): $(TRACE_VARIANT_SOURCE_LIST)
       
  7349  
       
  7350 -# 1. Append to or create the list of source files for trace compiler to process
       
  7351 -# 2. Check if the hash in trace marker remain unchanged. If not, remove marker so trace compiler will run again. 
       
  7352 -X:=$(shell set -x ; $(GNUMKDIR) -p $(TRACE_MARKER_PATH) ; $(GNUTOUCH) $(TRACE_SOURCE_LIST) ; echo -e "$(subst $(CHAR_SPACE),\\n,$(SOURCE))" | $(GNUSORT) -u $(TRACE_SOURCE_LIST) - > $(TRACE_SOURCE_LIST).tmp && $(GNUMV) $(TRACE_SOURCE_LIST).tmp $(TRACE_SOURCE_LIST) ; $(GNUMD5SUM) -c $(TRACE_MARKER) || $(GNURM) $(TRACE_MARKER))
       
  7353 +.PHONY:: $(TRACE_VARIANT_SOURCE_LIST)
       
  7354  
       
  7355 -$(if $(FLMDEBUG),$(info <debug>Trace Compiler sourcelist generation output: $(X)</debug>))
       
  7356 +$(TRACE_VARIANT_SOURCE_LIST): $(SOURCE) 
       
  7357 +	$(call sourcelist_grouped_write,$(SOURCE),>)
       
  7358 +
       
  7359 +endef
       
  7360 +
       
  7361 +$(eval $(sourcelist_write))
       
  7362 +$(eval $(call GenerateStandardCleanTarget,$(TRACE_VARIANT_SOURCE_LIST),,))
       
  7363 +
       
  7364 +
       
  7365 +$(if $(FLMDEBUG),$(info <debug>Trace Compiler SOURCES: $(SOURCE)</debug>))
  6755  
  7366  
  6756  $(TRACE_MARKER) : $(SOURCE)
  7367  $(TRACE_MARKER) : $(SOURCE)
  6757  
  7368  
  6758 +TRACE_HEADERS:=$(foreach SRC,$(SOURCE),$(TRACE_PATH)/$(basename $(notdir $(SRC)))Traces.h)
  7369 +TRACE_HEADERS:=$(foreach SRC,$(SOURCE),$(TRACE_PATH)/$(basename $(notdir $(SRC)))Traces.h)
  6759 +
  7370 +
  6760 +$(TRACE_HEADERS): $(TRACE_MARKER)
  7371 +$(TRACE_HEADERS): $(TRACE_MARKER)
  6761 +
  7372 +
  6762  ifeq ($(GUARD_$(call sanitise,$(TRACE_MARKER))),)
  7373  ifeq ($(GUARD_$(call sanitise,$(TRACE_MARKER))),)
  6763  GUARD_$(call sanitise,$(TRACE_MARKER)):=1
  7374  GUARD_$(call sanitise,$(TRACE_MARKER)):=1
  6764  
  7375  
       
  7376 +$(if $(FLMDEBUG),$(info <debug>PAST MARKER='$(TRACE_RELEASABLE_ID)'</debug>))
  6765 +# The trace compiler likes to change . into _ so we must do the same in the case of mmps with a name like
  7377 +# The trace compiler likes to change . into _ so we must do the same in the case of mmps with a name like
  6766 +# fred.prd.mmp we want fred_prd
  7378 +# fred.prd.mmp we want fred_prd
  6767 +TRACE_PRJNAME_SANITISED:=$(subst .,_,$(TRACE_PRJNAME))
  7379 +TRACE_PRJNAME_SANITISED:=$(subst .,_,$(TRACE_PRJNAME))
  6768 +
  7380 +OLDTC_TRACE_PRJNAME_SANITISED:=$(subst .,_,$(OLDTC_TRACE_PRJNAME))
  6769 +TRACE_DICTIONARY:=$(EPOCROOT)/epoc32/ost_dictionaries/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_Dictionary.xml
  7381 +
  6770 +AUTOGEN_HEADER:=$(EPOCROOT)/epoc32/include/internal/SymbianTraces/autogen/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_TraceDefinitions.h
       
  6771 +
  7382 +
  6772  JAVA_COMMAND:=$(SBS_JAVATC)
  7383  JAVA_COMMAND:=$(SBS_JAVATC)
  6773  TRACE_COMPILER_PATH:=$(EPOCROOT)/epoc32/tools
  7384  TRACE_COMPILER_PATH:=$(EPOCROOT)/epoc32/tools
  6774  TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompiler
  7385 -TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompiler
  6775  
  7386  
  6776 -TRACE_HEADERS:=$(foreach SRC,$(SOURCE),$(TRACE_PATH)/$(basename $(notdir $(SRC)))Traces.h)
  7387 -TRACE_HEADERS:=$(foreach SRC,$(SOURCE),$(TRACE_PATH)/$(basename $(notdir $(SRC)))Traces.h)
  6777  
  7388 +# declare the trace_compile macro but only do it once in the build
       
  7389 +ifeq ($(trace_compile),)
       
  7390  
       
  7391 +# Find out which macro to declare - the one supporting the new CLI 
       
  7392 +# or the old one.  First try to find TraceCompilerMain.class 
       
  7393 +# If it is there then it might be the new posix-like interface
       
  7394 +TRACE_VER:=
       
  7395 +TRACE_VSTR:=
       
  7396 +
       
  7397 +TCClass:=$(wildcard  $(TRACE_COMPILER_PATH)/tracecompiler/com/nokia/tracecompiler/TraceCompilerMain.class)
       
  7398 +ifneq ($(TCClass),) 
       
  7399 +# Get the version string from the TC (assume it's the new one)
       
  7400 +TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompilerMain
       
  7401 +TRACE_VSTR:=$(firstword $(subst TraceCompiler version ,,$(shell $(JAVA_COMMAND) $(TRACE_COMPILER_START) --version)))
       
  7402 +# check if it looks like a version that supports the new cli interface: supporting up to verion 9 in the future.
       
  7403 +TRACE_VER:=$(findstring new,$(foreach version,2 3 4 5 6 7 8 9,$(patsubst $(version).%,new,$(TRACE_VSTR))))
       
  7404 +endif
       
  7405 +$(if $(FLMDEBUG),$(info <debug>TRACE_VSTR=$(TRACE_VSTR) TRACE_VER=$(TRACE_VER)</debug>))
       
  7406 +
       
  7407 +
       
  7408 +# 0. Generate a combined sourcelist from all variants. 
       
  7409 +# 0.1 Write the combined list to a temporary file
       
  7410 +# 0.2 Check if there are new files since the last build
       
  7411 +#      md5 stored in the trace marker.
       
  7412 +# 0.3 Rewrite the combined sourcelist if new sourcefiles have appeared
       
  7413 +#      since the last build
  6778  # 1. Use pipe to send inputs to trace compiler to process
  7414  # 1. Use pipe to send inputs to trace compiler to process
  6779  # 2. Create a hash regarding to source names and put it in marker.
  7415  # 2. Create a hash regarding to source names and put it in marker.
  6780 @@ -56,18 +94,21 @@
  7416  # 3. Show source names that are processed by trace compiler
       
  7417 +
       
  7418 +ifeq ($(TRACE_VER),new)
       
  7419 +define trace_compile
       
  7420 +
       
  7421 +$(TRACE_SOURCE_LIST):
       
  7422 +	$(call startrule,sourcelist_combine) \
       
  7423 +	$(GNUCAT) $(TRACE_SOURCE_LIST) $$^ 2>/dev/null | $(GNUSORT) -u > $$@.new && \
       
  7424 +	$(GNUMD5SUM) -c $(TRACE_MARKER) 2>/dev/null ||  \
       
  7425 +	  $(GNUCP) $$@.new $$@ \
       
  7426 +	$(call endrule,sourcelist_combine)
       
  7427 +
       
  7428 +$(TRACE_MARKER) : $(PROJECT_META) $(TRACE_SOURCE_LIST)
       
  7429 +	$(call startrule,tracecompile) \
       
  7430 +	( $(GNUCAT) $(TRACE_SOURCE_LIST); \
       
  7431 +	  echo -en "*ENDOFSOURCEFILES*\n" ) | \
       
  7432 +	$(JAVA_COMMAND) $(TRACE_COMPILER_START) $(if $(FLMDEBUG),-d,) --uid=$(UID_TC) --project=$(TRACE_PRJNAME) --mmp=$(PROJECT_META) --traces=$(TRACE_PATH) &&  \
       
  7433 +	$(GNUMD5SUM) $(TRACE_SOURCE_LIST).new > $$@ 2>/dev/null && \
       
  7434 +	{ $(GNUTOUCH) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER); \
       
  7435 +	 $(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \
       
  7436 +	$(call endrule,tracecompile)
       
  7437 +endef
       
  7438 +
       
  7439 +else # Old inteface
       
  7440 +TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompiler
       
  7441 +
       
  7442  define trace_compile
       
  7443 -$(TRACE_MARKER) : $(PROJECT_META)
       
  7444 +
       
  7445 +$(TRACE_SOURCE_LIST):
       
  7446 +	$(call startrule,sourcelist_combine) \
       
  7447 +	$(GNUCAT) $(TRACE_SOURCE_LIST) $$^ 2>/dev/null | $(GNUSORT) -u > $$@.new && \
       
  7448 +	$(GNUMD5SUM) -c $(TRACE_MARKER) 2>/dev/null ||  \
       
  7449 +	  $(GNUCP) $$@.new $$@ \
       
  7450 +	$(call endrule,sourcelist_combine)
       
  7451 +
       
  7452 +$(TRACE_MARKER) : $(PROJECT_META) $(TRACE_SOURCE_LIST)
       
  7453  	$(call startrule,tracecompile) \
       
  7454 -	( echo -en "$(TRACE_PRJNAME)\n$(PROJECT_META)\n"; \
       
  7455 +	( echo -en "$(OLDTC_TRACE_PRJNAME)\n$(PROJECT_META)\n"; \
  6781  	  $(GNUCAT) $(TRACE_SOURCE_LIST); \
  7456  	  $(GNUCAT) $(TRACE_SOURCE_LIST); \
  6782  	  echo -en "*ENDOFSOURCEFILES*\n" ) | \
  7457  	  echo -en "*ENDOFSOURCEFILES*\n" ) | \
  6783  	$(JAVA_COMMAND) $(TRACE_COMPILER_START) $(UID_TC) && \
  7458  	$(JAVA_COMMAND) $(TRACE_COMPILER_START) $(UID_TC) && \
  6784 -	$(GNUMD5SUM) $(TRACE_SOURCE_LIST) > $(TRACE_MARKER) ; \
  7459 -	$(GNUMD5SUM) $(TRACE_SOURCE_LIST) > $(TRACE_MARKER) ; \
  6785 -	$(GNUCAT) $(TRACE_SOURCE_LIST) \
  7460 -	$(GNUCAT) $(TRACE_SOURCE_LIST) \
  6786 +	$(GNUMD5SUM) $(TRACE_SOURCE_LIST) > $(TRACE_MARKER) && \
  7461 +	$(GNUMD5SUM) $(TRACE_SOURCE_LIST).new > $$@ 2>/dev/null && \
  6787 +	{ $(GNUTOUCH) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER); \
  7462 +	{ $(GNUTOUCH) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER); \
  6788 +	 $(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \
  7463 +	 $(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \
  6789  	$(call endrule,tracecompile)
  7464  	$(call endrule,tracecompile)
  6790  endef
  7465  endef
  6791  
  7466  
       
  7467 +# End - new/old trace compiler
       
  7468 +endif
       
  7469 +
       
  7470 +# End - tracecompile is defined
       
  7471 +endif
       
  7472 +
       
  7473 +ifeq ($(TRACE_VER),new)
       
  7474 +TRACE_DICTIONARY:=$(EPOCROOT)/epoc32/ost_dictionaries/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_Dictionary.xml
       
  7475 +AUTOGEN_HEADER:=$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_TraceDefinitions.h
       
  7476 +else
       
  7477 +TRACE_DICTIONARY:=$(EPOCROOT)/epoc32/ost_dictionaries/$(OLDTC_TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_Dictionary.xml
       
  7478 +AUTOGEN_HEADER:=$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/$(OLDTC_TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_TraceDefinitions.h
       
  7479 +endif
       
  7480 +
  6792  $(eval $(trace_compile))
  7481  $(eval $(trace_compile))
  6793  
  7482  
  6794 -$(eval $(call GenerateStandardCleanTarget,$(TRACE_HEADERS) $(TRACE_PATH)/tracebuilder.cache $(TRACE_MARKER) $(TRACE_SOURCE_LIST),,))
  7483 -$(eval $(call GenerateStandardCleanTarget,$(TRACE_HEADERS) $(TRACE_PATH)/tracebuilder.cache $(TRACE_MARKER) $(TRACE_SOURCE_LIST),,))
  6795 +$(eval $(call GenerateStandardCleanTarget, $(TRACE_PATH)/tracebuilder.cache $(TRACE_MARKER) $(TRACE_SOURCE_LIST),,))
  7484 +$(eval $(call GenerateStandardCleanTarget, $(TRACE_PATH)/tracebuilder.cache $(TRACE_MARKER) $(TRACE_SOURCE_LIST),,))
  6796  
  7485  
  6797  # End sanity guard
  7486 -# End sanity guard
       
  7487 +$(call makepath,$(TRACE_PATH) $(dir $(TRACE_DICTIONARY) $(AUTOGEN_HEADER)))
       
  7488 +# End  - guard that prevents repeated calls to TCom
  6798  endif
  7489  endif
  6799  
  7490  
  6800 +$(eval $(call GenerateStandardCleanTarget,$(TRACE_HEADERS),,))
  7491 +$(eval $(call GenerateStandardCleanTarget,$(TRACE_HEADERS),,))
  6801 +
  7492 +
       
  7493 +# End - Nothing to trace (not trace path in include)
  6802  else
  7494  else
  6803  # Indicate to following parts of the FLM that we actually won't run
  7495  # Indicate to following parts of the FLM that we actually won't run
  6804  # trace compiler so they can set dependencies accordingly.
  7496  # trace compiler so they can set dependencies accordingly.
  6805 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/win32dll.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32dll.flm
  7497 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/win32dll.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32dll.flm
  6806 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/win32dll.flm	2010-05-18 19:32:34.753348601 +0100
  7498 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/win32dll.flm	2010-05-18 19:32:34.753348601 +0100
  6807 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32dll.flm	2010-05-17 18:47:53.072842000 +0100
  7499 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32dll.flm	2010-06-04 12:09:25.007850000 +0100
  6808 @@ -30,5 +30,5 @@
  7500 @@ -30,5 +30,5 @@
  6809  include $(FLMHOME)/win32.flm
  7501  include $(FLMHOME)/win32.flm
  6810  
  7502  
  6811  else
  7503  else
  6812 -$(error $win32dll.flm called with wrong TARGETTYPE (should be 'dll' but is '$(TARGETTYPE)'))
  7504 -$(error $win32dll.flm called with wrong TARGETTYPE (should be 'dll' but is '$(TARGETTYPE)'))
  6813 +$(error win32dll.flm called with wrong TARGETTYPE (should be 'dll' but is '$(TARGETTYPE)'))
  7505 +$(error win32dll.flm called with wrong TARGETTYPE (should be 'dll' but is '$(TARGETTYPE)'))
  6814  endif
  7506  endif
  6815 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/win32.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32.flm
  7507 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/win32.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32.flm
  6816 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/win32.flm	2010-05-18 19:32:34.749348513 +0100
  7508 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/win32.flm	2010-05-18 19:32:34.749348513 +0100
  6817 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32.flm	2010-05-17 18:47:53.072842000 +0100
  7509 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32.flm	2010-06-04 12:09:25.007850000 +0100
  6818 @@ -1,4 +1,4 @@
  7510 @@ -1,4 +1,4 @@
  6819 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  7511 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  6820 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  7512 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  6821  # All rights reserved.
  7513  # All rights reserved.
  6822  # This component and the accompanying materials are made available
  7514  # This component and the accompanying materials are made available
  6859 -ifeq ($(DEPEND_SKIP),)
  7551 -ifeq ($(DEPEND_SKIP),)
  6860 +ifeq ($(NO_DEPEND_GENERATE),)
  7552 +ifeq ($(NO_DEPEND_GENERATE),)
  6861    CFLAGS:=$(CFLAGS) $(OPT.DEPEND)
  7553    CFLAGS:=$(CFLAGS) $(OPT.DEPEND)
  6862  endif
  7554  endif
  6863  
  7555  
  6864 @@ -197,7 +205,7 @@
  7556 @@ -191,13 +199,14 @@
       
  7557  endif
       
  7558  
       
  7559  
       
  7560 -BINTARGET:=$(BINDIR)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
       
  7561 +TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
       
  7562 +BINTARGET:=$(BINDIR)/$(TARGET).$(TARGETEXT)
       
  7563  
       
  7564  
  6865  # Run trace compiler #####################################
  7565  # Run trace compiler #####################################
  6866  TRACE_MARKER_PATH:=$(OUTPUTPATH)
  7566  TRACE_MARKER_PATH:=$(OUTPUTPATH)
  6867  
  7567  
  6868 -ifeq ($(UID3),)
  7568 -ifeq ($(UID3),)
  6869 +ifeq ($(subst 0,,$(UID3)),)
  7569 +ifeq ($(subst 0,,$(UID3)),)
  6870    ifeq ($(UID2),)
  7570    ifeq ($(UID2),)
  6871      USE_TRACE_COMPILER:=
  7571      USE_TRACE_COMPILER:=
  6872    else
  7572    else
  6873 @@ -211,6 +219,7 @@
  7573 @@ -210,7 +219,9 @@
       
  7574  # USE_TRACE_COMPILER defaults to blank in Raptor config.
  6874  # Users can turn TC on by setting it to 1 in user config.
  7575  # Users can turn TC on by setting it to 1 in user config.
  6875  ifneq ($(USE_TRACE_COMPILER),) 
  7576  ifneq ($(USE_TRACE_COMPILER),) 
       
  7577 +  # TARGETEXT must be set before here
  6876    include $(FLMHOME)/tracecompiler.mk
  7578    include $(FLMHOME)/tracecompiler.mk
  6877 +  TC_RELEASABLES:=$(TRACE_DICTIONARY) $(AUTOGEN_HEADER)
  7579 +  TC_RELEASABLES:=$(TRACE_DICTIONARY) $(AUTOGEN_HEADER)
  6878  endif
  7580  endif
  6879  
  7581  
  6880  
  7582  
  6881 @@ -243,7 +252,6 @@
  7583 @@ -218,7 +229,7 @@
       
  7584  ## IMPORT LIBRARY ##
       
  7585  ####################
       
  7586  
       
  7587 -IMPORTLIBLINKAS:=$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
       
  7588 +IMPORTLIBLINKAS:=$(TARGET).$(TARGETEXT)
       
  7589  # LINKAS, if supplied, only applies to IMPLIB TARGETTYPEs
       
  7590  ifeq ($(BASE_TYPE),importlib)
       
  7591    ifneq ($(LINKAS),)
       
  7592 @@ -243,7 +254,6 @@
  6882  ifeq ($(SUPPORTS_IMPORT_LIBRARY),1)
  7593  ifeq ($(SUPPORTS_IMPORT_LIBRARY),1)
  6883    ifneq ($(NOEXPORTLIBRARY),1)
  7594    ifneq ($(NOEXPORTLIBRARY),1)
  6884      ifneq ($(TARGET_$(call sanitise,$(IMPORTLIBTARGET))),1)
  7595      ifneq ($(TARGET_$(call sanitise,$(IMPORTLIBTARGET))),1)
  6885 -      CLEANTARGETS:=$(CLEANTARGETS) $(if $(or $(EXPORTUNFROZEN),$(DEFFILE)),$(IMPORTLIBTARGET))
  7596 -      CLEANTARGETS:=$(CLEANTARGETS) $(if $(or $(EXPORTUNFROZEN),$(DEFFILE)),$(IMPORTLIBTARGET))
  6886        RELEASABLES:=$(RELEASABLES) $(if $(or $(EXPORTUNFROZEN),$(DEFFILE)),$(IMPORTLIBTARGET))
  7597        RELEASABLES:=$(RELEASABLES) $(if $(or $(EXPORTUNFROZEN),$(DEFFILE)),$(IMPORTLIBTARGET))
  6887  
  7598  
  6888        # import libraries are generated to the UDEB release directory
  7599        # import libraries are generated to the UDEB release directory
  6889 @@ -290,7 +298,6 @@
  7600 @@ -287,10 +297,9 @@
  6890      BINTARGETSTATICLINK:=$(BINDIRSTATICLINK)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
  7601    #############
       
  7602  
       
  7603    ifeq ($(COPY_FOR_STATIC_LINKAGE),1)
       
  7604 -    BINTARGETSTATICLINK:=$(BINDIRSTATICLINK)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
       
  7605 +    BINTARGETSTATICLINK:=$(BINDIRSTATICLINK)/$(TARGET).$(TARGETEXT)
  6891    endif
  7606    endif
  6892  
  7607  
  6893 -  CLEANTARGETS:=$(CLEANTARGETS) $(BINTARGET) $(BINTARGETSTATICLINK)
  7608 -  CLEANTARGETS:=$(CLEANTARGETS) $(BINTARGET) $(BINTARGETSTATICLINK)
  6894    RELEASABLES:=$(RELEASABLES) $(BINTARGET) $(BINTARGETSTATICLINK)
  7609    RELEASABLES:=$(RELEASABLES) $(BINTARGET) $(BINTARGETSTATICLINK)
  6895  
  7610  
  6896    # work on a local source files list
  7611    # work on a local source files list
  6897 @@ -368,20 +375,21 @@
  7612 @@ -368,20 +377,21 @@
  6898      $(eval DEPENDFILENAME:=$(call mapwin32file,$(1),.o.d))
  7613      $(eval DEPENDFILENAME:=$(call mapwin32file,$(1),.o.d))
  6899      $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
  7614      $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
  6900  
  7615  
  6901 -    $(call mapwin32file,$(1),.o): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER))
  7616 -    $(call mapwin32file,$(1),.o): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER))
  6902 +    $(call mapwin32file,$(1),.o): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) | $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER))
  7617 +    $(call mapwin32file,$(1),.o): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) | $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER))
  6921 -      ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
  7636 -      ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
  6922 +        ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),)
  7637 +        ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),)
  6923          -include $(DEPENDFILE)
  7638          -include $(DEPENDFILE)
  6924        endif
  7639        endif
  6925      endif
  7640      endif
  6926 @@ -412,24 +420,28 @@
  7641 @@ -412,24 +422,28 @@
  6927    STDMWCINCLUDEPATHS:=$(if $(MWCSym2Includes),$(MWCSym2Includes),$(MWCSYM2INCLUDES))
  7642    STDMWCINCLUDEPATHS:=$(if $(MWCSym2Includes),$(MWCSym2Includes),$(MWCSYM2INCLUDES))
  6928  
  7643  
  6929    define win32resourcecompile
  7644    define win32resourcecompile
  6930 -    # Note that two calls are made to the resource compiler here.  There seems to be no means to override the
  7645 -    # Note that two calls are made to the resource compiler here.  There seems to be no means to override the
  6931 -    # default behaviour of dumping dependency files into the CWD when using -MD.  So - we compile once for real,
  7646 -    # default behaviour of dumping dependency files into the CWD when using -MD.  So - we compile once for real,
  6957 -      ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
  7672 -      ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
  6958 +        ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),)
  7673 +        ifeq ($(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS))),)
  6959          -include $(DEPENDFILE)
  7674          -include $(DEPENDFILE)
  6960        endif
  7675        endif
  6961      endif
  7676      endif
  6962 @@ -463,7 +475,6 @@
  7677 @@ -463,7 +477,6 @@
  6963        # link map file (urel only)
  7678        # link map file (urel only)
  6964        ifeq ($(VARIANTTYPE),urel)
  7679        ifeq ($(VARIANTTYPE),urel)
  6965          MAP:=$(OPT.MAP)$(BINTARGET).map
  7680          MAP:=$(OPT.MAP)$(BINTARGET).map
  6966 -        CLEANTARGETS:=$(CLEANTARGETS) $(BINTARGET).map
  7681 -        CLEANTARGETS:=$(CLEANTARGETS) $(BINTARGET).map
  6967          RELEASABLES:=$(RELEASABLES) $(BINTARGET).map
  7682          RELEASABLES:=$(RELEASABLES) $(BINTARGET).map
  6968        endif
  7683        endif
  6969      endif
  7684      endif
  6970 @@ -677,12 +688,11 @@
  7685 @@ -524,7 +537,7 @@
       
  7686      TMP_IMPLIB:=$(BLDDIR)/$(TARGET).lib
       
  7687      TMP_INFFILE:=$(BLDDIR)/$(TARGET).inf
       
  7688      TMP_SYMFILE:=$(if $(OPEN_ENVIRONMENT),$(BLDDIR)/$(TARGET).sym,)
       
  7689 -    TMP_TARGET:=$(BLDDIR)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))
       
  7690 +    TMP_TARGET:=$(BLDDIR)/$(TARGET).$(TARGETEXT)
       
  7691      TMP_DEFFILE:=$(BLDDIR)/$(TARGET).def
       
  7692  
       
  7693      CLEANTARGETS:=$(CLEANTARGETS) $(TMP_IMPLIB) $(TMP_INFFILE) $(TMP_TARGET) $(TMP_DEFFILE) $(TMP_SYMFILE)
       
  7694 @@ -565,7 +578,7 @@
       
  7695  		$(call groupin10,$(notdir $(OBJECTFILES))) ;
       
  7696  	    $(call startrule,win32stageonelink) \
       
  7697  	    $(if $(SUPPORTS_STDCPP_NEWLIB),$(if $(STATICLIBFILES),$(CHECKLIB) $(CHECKLIB_TYPE) $(OPT.CHECKLIB.WIN32) $(STATICLIBFILES) &&,),) \
       
  7698 -	    MWSym2LibraryFiles="$(MWSym2LibraryFiles)" $(LD) $(LFLAGS) $(OPT.MENTRYPOINT)$(ENTRYSYMBOL) $(OPT.EXPORT)$(EXPORT_TYPE) $(OPT.NOCOMPACTIMPORTLIB) $(OPT.ADDCOMMAND) "out:$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE))" $(OPT.WARNINGS) off $(OPT.IMPLIB)"$(TMP_IMPLIB)" $(OPT.OUT)"$(TMP_TARGET)" $(LINKER_FIRSTSTATLIBFILE) $(NEWLIBFILE) $(WIN32_LIBRARIES) $(STATICLIBFILES) $(LINKLIBFILES) $(OPT.LIBPATH)$(BLDDIR) $(OPT.SEARCH) @$(OBJECTFILES_LRF) \
       
  7699 +	    MWSym2LibraryFiles="$(MWSym2LibraryFiles)" $(LD) $(LFLAGS) $(OPT.MENTRYPOINT)$(ENTRYSYMBOL) $(OPT.EXPORT)$(EXPORT_TYPE) $(OPT.NOCOMPACTIMPORTLIB) $(OPT.ADDCOMMAND) "out:$(TARGET).$(TARGETEXT)" $(OPT.WARNINGS) off $(OPT.IMPLIB)"$(TMP_IMPLIB)" $(OPT.OUT)"$(TMP_TARGET)" $(LINKER_FIRSTSTATLIBFILE) $(NEWLIBFILE) $(WIN32_LIBRARIES) $(STATICLIBFILES) $(LINKLIBFILES) $(OPT.LIBPATH)$(BLDDIR) $(OPT.SEARCH) @$(OBJECTFILES_LRF) \
       
  7700  	    $(call endrule,win32stageonelink)
       
  7701      endef
       
  7702      $(eval $(win32stageonelink))
       
  7703 @@ -677,12 +690,11 @@
  6971    BATCHFILE_CREATED_$(BATCHDIR)$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH):=1
  7704    BATCHFILE_CREATED_$(BATCHDIR)$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH):=1
  6972    TARGET_CREATED_$(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)_$(TARGET):=1
  7705    TARGET_CREATED_$(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)_$(TARGET):=1
  6973    RELEASABLES:=$(RELEASABLES) $(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)
  7706    RELEASABLES:=$(RELEASABLES) $(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)
  6974 -  CLEANTARGETS:=$(CLEANTARGETS) $(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)
  7707 -  CLEANTARGETS:=$(CLEANTARGETS) $(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)
  6975  endif
  7708  endif
  6984 +# for the --what option and the log file
  7717 +# for the --what option and the log file
  6985 +$(call raptor_release,$(RELEASABLES) $(TC_RELEASABLES))
  7718 +$(call raptor_release,$(RELEASABLES) $(TC_RELEASABLES))
  6986 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm: win32pdll.flm
  7719 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm: win32pdll.flm
  6987 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/win32plugin.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32plugin.flm
  7720 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/win32plugin.flm /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32plugin.flm
  6988 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/win32plugin.flm	2010-05-18 19:32:34.753348601 +0100
  7721 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/lib/flm/win32plugin.flm	2010-05-18 19:32:34.753348601 +0100
  6989 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32plugin.flm	2010-05-17 18:47:53.076842000 +0100
  7722 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32plugin.flm	2010-06-04 12:09:25.011850000 +0100
  6990 @@ -1,4 +1,4 @@
  7723 @@ -1,4 +1,4 @@
  6991 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  7724 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  6992 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  7725 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  6993  # All rights reserved.
  7726  # All rights reserved.
  6994  # This component and the accompanying materials are made available
  7727  # This component and the accompanying materials are made available
  7022  endif
  7755  endif
  7023 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor: license.txt
  7756 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor: license.txt
  7024 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor: notes
  7757 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor: notes
  7025 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/filter_interface.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_interface.py
  7758 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/filter_interface.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_interface.py
  7026 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/filter_interface.py	2010-05-18 19:32:34.785348756 +0100
  7759 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/filter_interface.py	2010-05-18 19:32:34.785348756 +0100
  7027 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_interface.py	2010-05-17 18:47:53.080842000 +0100
  7760 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_interface.py	2010-06-04 12:09:25.019850000 +0100
  7028 @@ -18,7 +18,7 @@
  7761 @@ -18,7 +18,7 @@
  7029  
  7762  
  7030  class Filter(object):
  7763  class Filter(object):
  7031  	
  7764  	
  7032 -	def open(self, raptor):
  7765 -	def open(self, raptor):
  7122 +			
  7855 +			
  7123 +		return self.ok
  7856 +		return self.ok
  7124 +	
  7857 +	
  7125 +
  7858 +
  7126 +# the end
  7859 +# the end
       
  7860 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/filter_list.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_list.py
       
  7861 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/filter_list.py	2010-05-18 19:32:34.785348756 +0100
       
  7862 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_list.py	2010-06-04 12:09:25.019850000 +0100
       
  7863 @@ -1,5 +1,5 @@
       
  7864  #
       
  7865 -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
       
  7866 +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
       
  7867  # All rights reserved.
       
  7868  # This component and the accompanying materials are made available
       
  7869  # under the terms of the License "Eclipse Public License v1.0"
       
  7870 @@ -19,6 +19,7 @@
       
  7871  import os
       
  7872  import sys
       
  7873  import raptor
       
  7874 +import re
       
  7875  import filter_interface
       
  7876  import pluginbox
       
  7877  import traceback
       
  7878 @@ -64,7 +65,23 @@
       
  7879  		"""Nothing to do for stdout"""
       
  7880  		return True
       
  7881  
       
  7882 +def SplitList(listString):
       
  7883 +	"""turn a CLI filter string into a list of (class, param) pairs.
       
  7884  
       
  7885 +	for example, "foo[a,b],bar[c,d]"
       
  7886 +	
       
  7887 +	becomes [ ("foo", ["a","b"]) , ("bar", ["c","d"]) ]
       
  7888 +	"""
       
  7889 +	matches = re.findall("(\w+)(\[([^\[\]]*)\])?,?", listString)
       
  7890 +	
       
  7891 +	pairs = []
       
  7892 +	for m in matches:
       
  7893 +		classname = m[0]
       
  7894 +		if len(m[2]) > 0:
       
  7895 +			pairs.append( (classname, m[2].split(",")) )
       
  7896 +		else:
       
  7897 +			pairs.append( (classname, []) )
       
  7898 +	return pairs
       
  7899  
       
  7900  class FilterList(filter_interface.Filter):
       
  7901  
       
  7902 @@ -81,14 +98,31 @@
       
  7903  		# Find all the filter plugins
       
  7904  		self.pbox = pbox
       
  7905  		possiblefilters = self.pbox.classesof(filter_interface.Filter)
       
  7906 +		filterdict = {}
       
  7907 +		for p in possiblefilters:
       
  7908 +			name = p.__name__.lower()
       
  7909 +			if name in filterdict:
       
  7910 +				raise ValueError("filters found in SBS_HOME/python/plugins which have duplicate name: %s " % p.__name__)
       
  7911 +			else:
       
  7912 +				filterdict[name] = p
       
  7913 +		
       
  7914 +		# turn "filternames" into a list of (classname, parameters) pairs
       
  7915 +		filterCalls = SplitList(filternames)
       
  7916 +		
       
  7917 +		# look for each filter class in the box
       
  7918  		unfound = []
       
  7919  		self.filters = []
       
  7920 -		for f in filternames:
       
  7921 -			unfound.append(f) # unfound unless we find it
       
  7922 -			for pl in possiblefilters:
       
  7923 -				if pl.__name__.upper() == f.upper():
       
  7924 -					self.filters.append(pl())
       
  7925 -					unfound = unfound[:-1]
       
  7926 +		for (f, params) in filterCalls:
       
  7927 +			# if the filter exists and is a valid filter use it
       
  7928 +			if f.lower() in filterdict:
       
  7929 +				if params:
       
  7930 +					self.filters.append(filterdict[f.lower()](params))
       
  7931 +				else:
       
  7932 +					self.filters.append(filterdict[f.lower()]())
       
  7933 +			else:
       
  7934 +				# record missing filters
       
  7935 +				unfound.append(f)
       
  7936 +
       
  7937  		if unfound != []:
       
  7938  			raise ValueError("requested filters not found: %s \
       
  7939  			\nAvailable filters are: %s" % (str(unfound), self.format_output_list(possiblefilters)))
  7127 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/filter_utils.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_utils.py
  7940 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/filter_utils.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_utils.py
  7128 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/filter_utils.py	2010-05-18 19:32:34.785348756 +0100
  7941 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/filter_utils.py	2010-05-18 19:32:34.785348756 +0100
  7129 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_utils.py	2010-05-17 18:47:53.080842000 +0100
  7942 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_utils.py	2010-06-04 12:09:25.019850000 +0100
  7130 @@ -198,12 +198,16 @@
  7943 @@ -198,12 +198,16 @@
  7131  	def isError(self, aLine):
  7944  	def isError(self, aLine):
  7132  		"""Convenience matcher for basic errors.
  7945  		"""Convenience matcher for basic errors.
  7133  		Override in sub-classes to specialise."""
  7946  		Override in sub-classes to specialise."""
  7134 -		return True if Recipe.error.match(aLine) else False
  7947 -		return True if Recipe.error.match(aLine) else False
  7170 +		if mwWarning.match(aLine):
  7983 +		if mwWarning.match(aLine):
  7171 +			return True
  7984 +			return True
  7172 +		return False
  7985 +		return False
  7173 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/generic_path.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/generic_path.py
  7986 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/generic_path.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/generic_path.py
  7174 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/generic_path.py	2010-05-18 19:32:34.785348756 +0100
  7987 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/generic_path.py	2010-05-18 19:32:34.785348756 +0100
  7175 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/generic_path.py	2010-05-17 18:47:53.084842000 +0100
  7988 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/generic_path.py	2010-06-04 12:09:25.019850000 +0100
  7176 @@ -1,5 +1,5 @@
  7989 @@ -1,5 +1,5 @@
  7177  #
  7990  #
  7178 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  7991 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  7179 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  7992 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  7180  # All rights reserved.
  7993  # All rights reserved.
  7225  
  8038  
  7226  # Module functions
  8039  # Module functions
  7227  
  8040  
  7228 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/mmpparser.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/mmpparser.py
  8041 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/mmpparser.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/mmpparser.py
  7229 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/mmpparser.py	2010-05-18 19:32:34.785348756 +0100
  8042 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/mmpparser.py	2010-05-18 19:32:34.785348756 +0100
  7230 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/mmpparser.py	2010-05-17 18:47:53.084842000 +0100
  8043 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/mmpparser.py	2010-06-04 12:09:25.019850000 +0100
  7231 @@ -1,5 +1,5 @@
  8044 @@ -1,5 +1,5 @@
  7232  #
  8045  #
  7233 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  8046 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  7234 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  8047 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  7235  # All rights reserved.
  8048  # All rights reserved.
  7253  			CaselessKeyword('BYTEPAIRCOMPRESSTARGET') ^ \
  8066  			CaselessKeyword('BYTEPAIRCOMPRESSTARGET') ^ \
  7254 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_broken.py
  8067 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_broken.py
  7255 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_bz2log.py
  8068 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_bz2log.py
  7256 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_carbide.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_carbide.py
  8069 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_carbide.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_carbide.py
  7257 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_carbide.py	2010-05-18 19:32:34.785348756 +0100
  8070 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_carbide.py	2010-05-18 19:32:34.785348756 +0100
  7258 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_carbide.py	2010-05-17 18:47:53.084842000 +0100
  8071 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_carbide.py	2010-06-04 12:09:25.023849000 +0100
  7259 @@ -129,5 +129,4 @@
  8072 @@ -129,5 +129,4 @@
  7260  		FilterCarbide.stdout.write("Overall Errors: %d\n" % self.__errors)
  8073  		FilterCarbide.stdout.write("Overall Errors: %d\n" % self.__errors)
  7261  		FilterCarbide.stdout.write("Overall Warnings: %d\n\n" % self.__warnings)
  8074  		FilterCarbide.stdout.write("Overall Warnings: %d\n\n" % self.__warnings)
  7262  
  8075  
  7263 -		return True if self.__errors == 0 else False
  8076 -		return True if self.__errors == 0 else False
  7265 +		return (self.__errors == 0)
  8078 +		return (self.__errors == 0)
  7266 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_checkcomp.py
  8079 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_checkcomp.py
  7267 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_check.py
  8080 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_check.py
  7268 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_checksource.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_checksource.py
  8081 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_checksource.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_checksource.py
  7269 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_checksource.py	2010-05-18 19:32:34.785348756 +0100
  8082 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_checksource.py	2010-05-18 19:32:34.785348756 +0100
  7270 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_checksource.py	2010-05-17 18:47:53.084842000 +0100
  8083 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_checksource.py	2010-06-04 12:09:25.023849000 +0100
  7271 @@ -224,11 +224,11 @@
  8084 @@ -224,11 +224,11 @@
  7272  				
  8085  				
  7273  				# Do the check for each file 	
  8086  				# Do the check for each file 	
  7274  				for dep in deplistnodups:
  8087  				for dep in deplistnodups:
  7275 -					dep = os.path.normpath(dep).replace('\\', '/')
  8088 -					dep = os.path.normpath(dep).replace('\\', '/')
  7291  			path = path.replace('\\', '/')
  8104  			path = path.replace('\\', '/')
  7292  			
  8105  			
  7293  			if not os.path.exists(path):
  8106  			if not os.path.exists(path):
  7294 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_clean.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_clean.py
  8107 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_clean.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_clean.py
  7295 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_clean.py	2010-05-18 19:32:34.785348756 +0100
  8108 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_clean.py	2010-05-18 19:32:34.785348756 +0100
  7296 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_clean.py	2010-05-17 18:47:53.084842000 +0100
  8109 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_clean.py	2010-06-04 12:09:25.023849000 +0100
  7297 @@ -51,17 +51,23 @@
  8110 @@ -51,17 +51,23 @@
  7298  		
  8111  		
  7299  			if self.removeTargets:
  8112  			if self.removeTargets:
  7300  				if line.startswith("<file>"):
  8113  				if line.startswith("<file>"):
  7301 -					self.doFile(line)
  8114 -					self.doFile(line)
  7395 -			self.removeFile(filename)
  8208 -			self.removeFile(filename)
  7396 -
  8209 -
  7397 -
  8210 -
  7398  # the end				
  8211  # the end				
  7399  
  8212  
       
  8213 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_component.py
       
  8214 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_copyfile.py
  7400 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_logfile.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_logfile.py
  8215 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_logfile.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_logfile.py
  7401 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_logfile.py	2010-05-18 19:32:34.785348756 +0100
  8216 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_logfile.py	2010-05-18 19:32:34.785348756 +0100
  7402 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_logfile.py	2010-05-17 18:47:53.088843000 +0100
  8217 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_logfile.py	2010-06-04 12:09:25.023849000 +0100
  7403 @@ -16,6 +16,7 @@
  8218 @@ -16,6 +16,7 @@
  7404  # Will ultimately do everything that scanlog does
  8219  # Will ultimately do everything that scanlog does
  7405  #
  8220  #
  7406  
  8221  
  7407 +import errno
  8222 +import errno
  7417  					sys.stderr.write("%s : error: cannot create directory %s\n" % \
  8232  					sys.stderr.write("%s : error: cannot create directory %s\n" % \
  7418  						(str(raptor.name), dirname))
  8233  						(str(raptor.name), dirname))
  7419  					return False
  8234  					return False
  7420 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_splitlog.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_splitlog.py
  8235 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_splitlog.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_splitlog.py
  7421 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_splitlog.py	2010-05-18 19:32:34.785348756 +0100
  8236 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_splitlog.py	2010-05-18 19:32:34.785348756 +0100
  7422 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_splitlog.py	2010-05-17 18:47:53.088843000 +0100
  8237 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_splitlog.py	2010-06-04 12:09:25.027850000 +0100
  7423 @@ -16,6 +16,7 @@
  8238 @@ -16,6 +16,7 @@
  7424  # Will ultimately do everything that scanlog does
  8239  # Will ultimately do everything that scanlog does
  7425  #
  8240  #
  7426  
  8241  
  7427 +import errno
  8242 +import errno
  7438  							"%s\n" % (raptor.name, dirname))
  8253  							"%s\n" % (raptor.name, dirname))
  7439  					return False
  8254  					return False
  7440 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_tagcount.py
  8255 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_tagcount.py
  7441 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_terminal.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_terminal.py
  8256 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_terminal.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_terminal.py
  7442 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_terminal.py	2010-05-18 19:32:34.789348356 +0100
  8257 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_terminal.py	2010-05-18 19:32:34.789348356 +0100
  7443 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_terminal.py	2010-05-17 18:47:53.088843000 +0100
  8258 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_terminal.py	2010-06-04 12:09:25.027850000 +0100
  7444 @@ -1,5 +1,5 @@
  8259 @@ -1,5 +1,5 @@
  7445  #
  8260  #
  7446 -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
  8261 -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
  7447 +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
  8262 +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
  7448  # All rights reserved.
  8263  # All rights reserved.
  7577  		sys.stdout.write("\n")
  8392  		sys.stdout.write("\n")
  7578 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_timing.py
  8393 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_timing.py
  7579 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_whatcomp.py
  8394 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_whatcomp.py
  7580 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_what.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_what.py
  8395 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_what.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_what.py
  7581 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_what.py	2010-05-18 19:32:34.789348356 +0100
  8396 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/plugins/filter_what.py	2010-05-18 19:32:34.789348356 +0100
  7582 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_what.py	2010-05-17 18:47:53.088843000 +0100
  8397 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins/filter_what.py	2010-06-04 12:09:25.027850000 +0100
  7583 @@ -1,5 +1,5 @@
  8398 @@ -1,5 +1,5 @@
  7584  #
  8399  #
  7585 -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
  8400 -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
  7586 +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
  8401 +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
  7587  # All rights reserved.
  8402  # All rights reserved.
  7654 +		if build_parameters.doCheck:
  8469 +		if build_parameters.doCheck:
  7655 +			self.check = True
  8470 +			self.check = True
  7656  		self.what = build_parameters.doWhat
  8471  		self.what = build_parameters.doWhat
  7657  
  8472  
  7658  		self.outfile = sys.stdout
  8473  		self.outfile = sys.stdout
  7659 @@ -78,6 +107,11 @@
  8474 @@ -63,12 +92,6 @@
       
  8475  		# when --check and --what are called
       
  8476  		self.repetitions = {}
       
  8477  		
       
  8478 -		"Regex for old what output"
       
  8479 -		if "win" in self.buildparameters.platform:
       
  8480 -			self.regex = re.compile("^[a-zA-Z]:\S+$")
       
  8481 -		else:
       
  8482 -			self.regex = re.compile("^/\S+$")
       
  8483 -		
       
  8484  		"Regex for targets"
       
  8485  		self.target_regex = re.compile("^<(build|stringtable|resource|bitmap)>.*")
       
  8486  			
       
  8487 @@ -78,6 +101,11 @@
  7660  		"Regex for zip exports"
  8488  		"Regex for zip exports"
  7661  		self.zip_export_regex = re.compile("^<member>.*")
  8489  		self.zip_export_regex = re.compile("^<member>.*")
  7662  		
  8490  		
  7663 +		"Regex for determining bld.inf name"
  8491 +		"Regex for determining bld.inf name"
  7664 +		self.whatlog_regex = re.compile("^<whatlog *bldinf='(?P<bldinf>[^']*)'.*")
  8492 +		self.whatlog_regex = re.compile("^<whatlog *bldinf='(?P<bldinf>[^']*)'.*")
  7666 +		
  8494 +		
  7667 +		self.prints = 0
  8495 +		self.prints = 0
  7668  		self.ok = True		
  8496  		self.ok = True		
  7669  		return self.ok
  8497  		return self.ok
  7670  	
  8498  	
  7671 @@ -87,10 +121,22 @@
  8499 @@ -87,13 +115,21 @@
  7672  		for line in text.splitlines():
  8500  		for line in text.splitlines():
  7673  			line = line.rstrip()
  8501  			line = line.rstrip()
  7674  			
  8502  			
  7675 +			# we are normally the ONLY filter running so we have to pass on
  8503 +			# we are normally the ONLY filter running so we have to pass on
  7676 +			# any errors and warnings that emerge
  8504 +			# any errors and warnings that emerge
  7685 +				
  8513 +				
  7686  			if not line in self.repetitions:
  8514  			if not line in self.repetitions:
  7687  				self.repetitions[line] = 0
  8515  				self.repetitions[line] = 0
  7688  				
  8516  				
  7689  			if self.repetitions[line] == 0:
  8517  			if self.repetitions[line] == 0:
  7690 +				
  8518 -				if self.regex.match(line) and (self.what or self.check):
  7691  				if self.regex.match(line) and (self.what or self.check):
  8519 -					"Print the whole line"
  7692  					"Print the whole line"
  8520 -					self.print_file(line, (-1), len(line))
  7693  					self.print_file(line, (-1), len(line))
  8521  					
  7694 @@ -116,10 +162,34 @@
  8522  				if self.target_regex.match(line):
       
  8523  					"Grab the filename between <build> and </build>" 
       
  8524 @@ -116,10 +152,34 @@
  7695  					
  8525  					
  7696  					self.print_file(line, start, end)
  8526  					self.print_file(line, start, end)
  7697  						
  8527  						
  7698 +			"work out what the 'current' bldinf file is"
  8528 +			"work out what the 'current' bldinf file is"
  7699 +			m = self.whatlog_regex.match(line)
  8529 +			m = self.whatlog_regex.match(line)
  7724 +		return self.ok
  8554 +		return self.ok
  7725 +		
  8555 +		
  7726  	def close(self):
  8556  	def close(self):
  7727  		if self.outfile_close:
  8557  		if self.outfile_close:
  7728  			self.outfile.close()
  8558  			self.outfile.close()
       
  8559 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python: raptor_api.py
  7729 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python: raptor_buildplatform.py
  8560 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python: raptor_buildplatform.py
  7730 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_cache.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_cache.py
  8561 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_cache.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_cache.py
  7731 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_cache.py	2010-05-18 19:32:34.789348356 +0100
  8562 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_cache.py	2010-05-18 19:32:34.789348356 +0100
  7732 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_cache.py	2010-05-17 18:47:53.092842000 +0100
  8563 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_cache.py	2010-06-04 12:09:25.031849000 +0100
  7733 @@ -143,7 +143,6 @@
  8564 @@ -143,7 +143,6 @@
  7734  			self.WarnDuplicate("group", self.groups[obj.name], obj)
  8565  			self.WarnDuplicate("group", self.groups[obj.name], obj)
  7735  			return
  8566  			return
  7736  
  8567  
  7737 -		obj.SetOwner(self.raptor)
  8568 -		obj.SetOwner(self.raptor)
  7762  			self.variants[obj.name] = obj
  8593  			self.variants[obj.name] = obj
  7763  
  8594  
  7764  
  8595  
  7765 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_cli.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_cli.py
  8596 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_cli.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_cli.py
  7766 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_cli.py	2010-05-18 19:32:34.789348356 +0100
  8597 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_cli.py	2010-05-18 19:32:34.789348356 +0100
  7767 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_cli.py	2010-05-17 18:47:53.092842000 +0100
  8598 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_cli.py	2010-06-04 12:09:25.031849000 +0100
  7768 @@ -1,5 +1,5 @@
  8599 @@ -1,5 +1,5 @@
  7769  #
  8600  #
  7770 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  8601 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  7771 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  8602 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  7772  # All rights reserved.
  8603  # All rights reserved.
  7773  # This component and the accompanying materials are made available
  8604  # This component and the accompanying materials are made available
  7774  # under the terms of the License "Eclipse Public License v1.0"
  8605  # under the terms of the License "Eclipse Public License v1.0"
  7775 @@ -34,7 +34,7 @@
  8606 @@ -18,13 +18,8 @@
       
  8607  # by a raptor.Raptor object.
       
  8608  #
       
  8609  
       
  8610 -import re
       
  8611  import types
       
  8612  import raptor
       
  8613 -import os
       
  8614 -import sys
       
  8615 -import tempfile
       
  8616 -from raptor_utilities import getOSPlatform
       
  8617  
       
  8618  from optparse import OptionParser # for parsing command line parameters
       
  8619  
       
  8620 @@ -34,7 +29,7 @@
  7776  # raptor_cli module attributes
  8621  # raptor_cli module attributes
  7777  
  8622  
  7778  parser = OptionParser(prog = raptor.name,
  8623  parser = OptionParser(prog = raptor.name,
  7779 -					  usage = """%prog [--help] [options] [variable=value] [target] ...
  8624 -					  usage = """%prog [--help] [options] [variable=value] [target] ...
  7780 +					  usage = """%prog [--help] [options] [target] ...
  8625 +					  usage = """%prog [--help] [options] [target] ...
  7781  
  8626  
  7782  Targets:
  8627  Targets:
  7783  
  8628  
  7784 @@ -47,7 +47,7 @@
  8629 @@ -47,7 +42,7 @@
  7785  LIBRARY        Create import libraries from frozen .DEF files
  8630  LIBRARY        Create import libraries from frozen .DEF files
  7786  LISTING        Create assembler listing files for source files
  8631  LISTING        Create assembler listing files for source files
  7787  REALLYCLEAN    Same as CLEAN but also remove exported files
  8632  REALLYCLEAN    Same as CLEAN but also remove exported files
  7788 -RESOURCE       Create resource files and AIFs
  8633 -RESOURCE       Create resource files and AIFs
  7789 +RESOURCE       Create resource files
  8634 +RESOURCE       Create resource files
  7790  ROMFILE        Create an IBY file to be included in a ROM
  8635  ROMFILE        Create an IBY file to be included in a ROM
  7791  TARGET         Create main executables
  8636  TARGET         Create main executables
  7792  WHAT           List all releaseable targets
  8637  WHAT           List all releaseable targets
  7793 @@ -87,6 +87,9 @@
  8638 @@ -87,6 +82,9 @@
  7794  parser.add_option("--export-only",action="store_true",dest="doExportOnly",
  8639  parser.add_option("--export-only",action="store_true",dest="doExportOnly",
  7795  				help="Generate exports only and do not create any make files.")
  8640  				help="Generate exports only and do not create any make files.")
  7796  
  8641  
  7797 +parser.add_option("--noexport",action="store_true",dest="doExport",
  8642 +parser.add_option("--noexport",action="store_true",dest="doExport",
  7798 +				help="Don't export any files - useful in some builds when you know exports have already been done.")
  8643 +				help="Don't export any files - useful in some builds when you know exports have already been done.")
  7799 +
  8644 +
  7800  parser.add_option("-f","--logfile",action="store",dest="logfile",
  8645  parser.add_option("-f","--logfile",action="store",dest="logfile",
  7801  				help="Name of the log file, or '-' for stdout.")
  8646  				help="Name of the log file, or '-' for stdout.")
  7802  
  8647  
  7803 @@ -117,6 +120,9 @@
  8648 @@ -117,6 +115,9 @@
  7804  parser.add_option("--no-depend-include",action="store_true",dest="noDependInclude",
  8649  parser.add_option("--no-depend-include",action="store_true",dest="noDependInclude",
  7805  				help="Do not include generated dependency files. This is only useful for extremely large non-incremental builds.")
  8650  				help="Do not include generated dependency files. This is only useful for extremely large non-incremental builds.")
  7806  				
  8651  				
  7807 +parser.add_option("--no-depend-generate",action="store_true",dest="noDependGenerate",
  8652 +parser.add_option("--no-depend-generate",action="store_true",dest="noDependGenerate",
  7808 +				help="Do not generate dependency files. This is only useful for extremely large non-incremental builds.  Implies --no-depend-include.")
  8653 +				help="Do not generate dependency files. This is only useful for extremely large non-incremental builds.  Implies --no-depend-include.")
  7809 +				
  8654 +				
  7810  parser.add_option("-o","--orderlayers",action="store_true",dest="sys_def_order_layers",
  8655  parser.add_option("-o","--orderlayers",action="store_true",dest="sys_def_order_layers",
  7811  				help="Build layers in the System Definition XML file in the order listed or, if given, in the order of -l options.")
  8656  				help="Build layers in the System Definition XML file in the order listed or, if given, in the order of -l options.")
  7812  
  8657  
  7813 @@ -144,10 +150,15 @@
  8658 @@ -126,6 +127,18 @@
       
  8659  parser.add_option("-q","--quiet",action="store_true",dest="quiet",
       
  8660  				help="Run quietly, not generating output messages.")
       
  8661  
       
  8662 +parser.add_option("--query",action="append",dest="query",
       
  8663 +				help="""Access various build settings and options using a basic API. The current options are:
       
  8664 +				
       
  8665 +				* aliases - return all the values that can be sensibly used with the sbs -c option.
       
  8666 +				
       
  8667 +				* products - return all the values that can be "." appended to an alias to specialise it for a product build.
       
  8668 +				
       
  8669 +				* config[x] - return a set of values that represent the build configuration "x". Typically "x" will be an alias name or an alias followed by "." followed by a product.
       
  8670 +				
       
  8671 +				Multiple --query options can be given.
       
  8672 +				""")
       
  8673 +
       
  8674  parser.add_option("-s","--sysdef",action="store",dest="sys_def_file",
       
  8675  				help="System Definition XML filename.")
       
  8676  
       
  8677 @@ -144,10 +157,15 @@
  7814  
  8678  
  7815  				  "forced" -  Check all tool versions. Don't use cached results.
  8679  				  "forced" -  Check all tool versions. Don't use cached results.
  7816  			""")
  8680  			""")
  7817 +
  8681 +
  7818 +parser.add_option("--timing",action="store_true",dest="timing",
  8682 +parser.add_option("--timing",action="store_true",dest="timing",
  7824  					"on"  - Parse bld.infs in parallel (should be faster on clusters/multicore machines)
  8688  					"on"  - Parse bld.infs in parallel (should be faster on clusters/multicore machines)
  7825 +					"slave" - used internally by Raptor 
  8689 +					"slave" - used internally by Raptor 
  7826  					"off" - Parse bld.infs serially 
  8690  					"off" - Parse bld.infs serially 
  7827  				     """)
  8691  				     """)
  7828  
  8692  
  7829 @@ -236,12 +247,7 @@
  8693 @@ -234,14 +252,8 @@
  7830  
  8694  	# parse the full set of arguments
  7831  	# the leftover_args are either variable assignments of the form a=b
  8695  	(options, leftover_args) = parser.parse_args(expanded_args)
  7832  	# or target names.
  8696  
       
  8697 -	# the leftover_args are either variable assignments of the form a=b
       
  8698 -	# or target names.
  7833 -	regex = re.compile("^(.+)=(.*)$")
  8699 -	regex = re.compile("^(.+)=(.*)$")
       
  8700 +	# the leftover_args are target names.
  7834  	for leftover in leftover_args:
  8701  	for leftover in leftover_args:
  7835 -		assignment = regex.findall(leftover)
  8702 -		assignment = regex.findall(leftover)
  7836 -		if len(assignment) > 0:
  8703 -		if len(assignment) > 0:
  7837 -			Raptor.SetEnv(assignment[0][0],assignment[0][1])
  8704 -			Raptor.SetEnv(assignment[0][0],assignment[0][1])
  7838 -		else:
  8705 -		else:
  7839  			Raptor.AddTarget(leftover)
  8706  			Raptor.AddTarget(leftover)
  7840  
  8707  
  7841  	# Define the dictionary of functions to be used.
  8708  	# Define the dictionary of functions to be used.
  7842 @@ -260,11 +266,13 @@
  8709 @@ -260,19 +272,23 @@
  7843  				 'quiet' : Raptor.RunQuietly,
  8710  				 'quiet' : Raptor.RunQuietly,
  7844  				 'debugoutput' : Raptor.SetDebugOutput,
  8711  				 'debugoutput' : Raptor.SetDebugOutput,
  7845  				 'doExportOnly' : Raptor.SetExportOnly,
  8712  				 'doExportOnly' : Raptor.SetExportOnly,
  7846 +				 'doExport' : Raptor.SetNoExport,
  8713 +				 'doExport' : Raptor.SetNoExport,
  7847  				 'keepgoing': Raptor.SetKeepGoing,
  8714  				 'keepgoing': Raptor.SetKeepGoing,
  7850  				 'make_option': Raptor.AddMakeOption,
  8717  				 'make_option': Raptor.AddMakeOption,
  7851  				 'noDependInclude': Raptor.SetNoDependInclude,
  8718  				 'noDependInclude': Raptor.SetNoDependInclude,
  7852 +				 'noDependGenerate': Raptor.SetNoDependGenerate,
  8719 +				 'noDependGenerate': Raptor.SetNoDependGenerate,
  7853  				 'number_of_jobs': Raptor.SetJobs,
  8720  				 'number_of_jobs': Raptor.SetJobs,
  7854  				 'project_name' :  Raptor.AddProject,
  8721  				 'project_name' :  Raptor.AddProject,
       
  8722 +				 'query' : Raptor.AddQuery,
  7855  				 'filter_list' : Raptor.FilterList,
  8723  				 'filter_list' : Raptor.FilterList,
  7856 @@ -273,6 +281,7 @@
  8724  				 'ignore_os_detection': Raptor.IgnoreOsDetection,
       
  8725  				 'check' :  Raptor.SetCheck,
  7857  				 'what' :  Raptor.SetWhat,
  8726  				 'what' :  Raptor.SetWhat,
  7858  				 'tries' : Raptor.SetTries,
  8727  				 'tries' : Raptor.SetTries,
  7859  				 'toolcheck' : Raptor.SetToolCheck,
  8728  				 'toolcheck' : Raptor.SetToolCheck,
  7860 +				 'timing' : Raptor.SetTiming,
  8729 +				 'timing' : Raptor.SetTiming,
  7861  				 'source_target' : Raptor.AddSourceTarget,
  8730  				 'source_target' : Raptor.AddSourceTarget,
  7862  				 'command_file' : CommandFile,
  8731  				 'command_file' : CommandFile,
  7863  				'parallel_parsing' : Raptor.SetParallelParsing,
  8732  				'parallel_parsing' : Raptor.SetParallelParsing,
  7864 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_data.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_data.py
  8733 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_data.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_data.py
  7865 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_data.py	2010-05-18 19:32:34.793348934 +0100
  8734 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_data.py	2010-05-18 19:32:34.793348934 +0100
  7866 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_data.py	2010-05-17 18:47:53.096843000 +0100
  8735 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_data.py	2010-06-04 12:09:25.035850000 +0100
  7867 @@ -1,5 +1,5 @@
  8736 @@ -1,5 +1,5 @@
  7868  #
  8737  #
  7869 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  8738 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  7870 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  8739 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  7871  # All rights reserved.
  8740  # All rights reserved.
  8442 -	def GenerateBuildUnits(self):
  9311 -	def GenerateBuildUnits(self):
  8443 +	def GenerateBuildUnits(self,cache):
  9312 +	def GenerateBuildUnits(self,cache):
  8444  		"""Returns a list of BuildUnits.
  9313  		"""Returns a list of BuildUnits.
  8445  
  9314  
  8446  		This function must be overridden by derived classes.
  9315  		This function must be overridden by derived classes.
  8447 @@ -830,6 +829,8 @@
  9316 @@ -830,10 +829,13 @@
  8448  
  9317  
  8449  class Variant(Model, Config):
  9318  class Variant(Model, Config):
  8450  
  9319  
  8451 +	__slots__ = ('cache','name','host','extends','ops','variantRefs','allOperations')
  9320 +	__slots__ = ('cache','name','type','host','extends','ops','variantRefs','allOperations')
  8452 +
  9321 +
  8453  	def __init__(self, name = ""):
  9322  	def __init__(self, name = ""):
  8454  		Model.__init__(self)
  9323  		Model.__init__(self)
  8455  		Config.__init__(self)
  9324  		Config.__init__(self)
  8456 @@ -868,20 +869,10 @@
  9325  		self.name = name
       
  9326 +		self.type = ""
       
  9327  
       
  9328  		# Operations defined inside this variant.
       
  9329  		self.ops = []
       
  9330 @@ -854,6 +856,8 @@
       
  9331  				self.host = value
       
  9332  		elif name == "extends":
       
  9333  			self.extends = value
       
  9334 +		elif name == "type":
       
  9335 +			self.type = value
       
  9336  		else:
       
  9337  			raise InvalidPropertyError()
       
  9338  
       
  9339 @@ -868,20 +872,10 @@
  8457  	def Valid(self):
  9340  	def Valid(self):
  8458  		return self.name
  9341  		return self.name
  8459  
  9342  
  8460 -	def SetOwner(self, aRaptor):
  9343 -	def SetOwner(self, aRaptor):
  8461 -
  9344 -
  8473 -	def GetAllOperationsRecursively(self):
  9356 -	def GetAllOperationsRecursively(self):
  8474 +	def GetAllOperationsRecursively(self, cache):
  9357 +	def GetAllOperationsRecursively(self, cache):
  8475  		"""Returns a list of all operations in this variant.
  9358  		"""Returns a list of all operations in this variant.
  8476  
  9359  
  8477  		The list elements are themselves lists; the overall structure of the
  9360  		The list elements are themselves lists; the overall structure of the
  8478 @@ -892,16 +883,16 @@
  9361 @@ -892,16 +886,16 @@
  8479  
  9362  
  8480  		if not self.allOperations:
  9363  		if not self.allOperations:
  8481  			if self.extends:
  9364  			if self.extends:
  8482 -				parent = self.owner.cache.FindNamedVariant(self.extends)
  9365 -				parent = self.owner.cache.FindNamedVariant(self.extends)
  8483 -				self.allOperations.extend( parent.GetAllOperationsRecursively() )
  9366 -				self.allOperations.extend( parent.GetAllOperationsRecursively() )
  8495 -	def GenerateBuildUnits(self):
  9378 -	def GenerateBuildUnits(self):
  8496 +	def GenerateBuildUnits(self,cache):
  9379 +	def GenerateBuildUnits(self,cache):
  8497  
  9380  
  8498  		name = self.name
  9381  		name = self.name
  8499  		vars = [self]
  9382  		vars = [self]
  8500 @@ -909,32 +900,46 @@
  9383 @@ -909,32 +903,46 @@
  8501  		for m in self.modifiers:
  9384  		for m in self.modifiers:
  8502  			name = name + "." + m.name
  9385  			name = name + "." + m.name
  8503  			vars.append(m)
  9386  			vars.append(m)
  8504 +		return [ BuildUnit(name=name, variants=vars) ]
  9387 +		return [ BuildUnit(name=name, variants=vars) ]
  8505  
  9388  
  8554 +class MissingVariantException(Exception):
  9437 +class MissingVariantException(Exception):
  8555 +	pass
  9438 +	pass
  8556  
  9439  
  8557  class Alias(Model, Config):
  9440  class Alias(Model, Config):
  8558  
  9441  
  8559 @@ -946,8 +951,8 @@
  9442 @@ -943,11 +951,12 @@
       
  9443  		Config.__init__(self)
       
  9444  		self.name = name
       
  9445  		self.meaning = ""
       
  9446 +		self.type = ""
  8560  		self.varRefs = []
  9447  		self.varRefs = []
  8561  		self.variants = []
  9448  		self.variants = []
  8562  
  9449  
  8563 -	def DebugPrint(self, prefix = ""):
  9450 -	def DebugPrint(self, prefix = ""):
  8564 -		self.owner.Debug("%s<alias name='%s' meaning='%s'/>", prefix, self.name, self.meaning)
  9451 -		self.owner.Debug("%s<alias name='%s' meaning='%s'/>", prefix, self.name, self.meaning)
  8565 +	def __str__(self):
  9452 +	def __str__(self):
  8566 +		return "<alias name='%s' meaning='%s'/>" % (self.name, self.meaning)
  9453 +		return "<alias name='%s' meaning='%s'/>" % (self.name, self.meaning)
  8567  
  9454  
  8568  	def SetProperty(self, key, val):
  9455  	def SetProperty(self, key, val):
  8569  		if key == "name":
  9456  		if key == "name":
  8570 @@ -956,45 +961,53 @@
  9457 @@ -956,45 +965,55 @@
  8571  			self.meaning = val
  9458  			self.meaning = val
  8572  
  9459  
  8573  			for u in val.split("."):
  9460  			for u in val.split("."):
  8574 -				self.varRefs.append( VariantRef(u) )
  9461 -				self.varRefs.append( VariantRef(u) )
  8575 +				self.varRefs.append( VariantRef(ref = u) )
  9462 +				self.varRefs.append( VariantRef(ref = u) )
       
  9463 +		elif key == "type":
       
  9464 +			self.type = val
  8576  		else:
  9465  		else:
  8577  			raise InvalidPropertyError()
  9466  			raise InvalidPropertyError()
  8578  
  9467  
  8579 -	def SetOwner(self, raptor):
  9468 -	def SetOwner(self, raptor):
  8580 -		Model.SetOwner(self, raptor)
  9469 -		Model.SetOwner(self, raptor)
  8633 -			return self.owner.cache.FindNamedAlias(self.ref)
  9522 -			return self.owner.cache.FindNamedAlias(self.ref)
  8634 +			return cache.FindNamedAlias(self.ref)
  9523 +			return cache.FindNamedAlias(self.ref)
  8635  		except KeyError:
  9524  		except KeyError:
  8636  			raise BadReferenceError(self.ref)
  9525  			raise BadReferenceError(self.ref)
  8637  
  9526  
  8638 @@ -1018,41 +1031,39 @@
  9527 @@ -1018,41 +1037,39 @@
  8639  		else:
  9528  		else:
  8640  			raise InvalidChildError()
  9529  			raise InvalidChildError()
  8641  
  9530  
  8642 -	def SetOwner(self, raptor):
  9531 -	def SetOwner(self, raptor):
  8643 -		Model.SetOwner(self, raptor)
  9532 -		Model.SetOwner(self, raptor)
  8693 +		if len(missing_variants) > 0:
  9582 +		if len(missing_variants) > 0:
  8694 +			raise MissingVariantException("Missing variants '%s'" % " ".join(missing_variants))
  9583 +			raise MissingVariantException("Missing variants '%s'" % " ".join(missing_variants))
  8695  
  9584  
  8696  		return units
  9585  		return units
  8697  
  9586  
  8698 @@ -1062,19 +1073,102 @@
  9587 @@ -1062,19 +1079,102 @@
  8699  	def __init__(self, ref=None):
  9588  	def __init__(self, ref=None):
  8700  		Reference.__init__(self, ref)
  9589  		Reference.__init__(self, ref)
  8701  
  9590  
  8702 -	def DebugPrint(self, prefix = ""):
  9591 -	def DebugPrint(self, prefix = ""):
  8703 -		mod = ".".join(self.modifiers)
  9592 -		mod = ".".join(self.modifiers)
  8801 +	log = raptor_utilities.nulllog
  9690 +	log = raptor_utilities.nulllog
  8802 +
  9691 +
  8803  	# For use in dealing with tools that return non-ascii version strings.
  9692  	# For use in dealing with tools that return non-ascii version strings.
  8804  	nonascii = ""
  9693  	nonascii = ""
  8805  	identity_chartable = chr(0)
  9694  	identity_chartable = chr(0)
  8806 @@ -1084,7 +1178,7 @@
  9695 @@ -1084,7 +1184,7 @@
  8807  		nonascii += chr(c)
  9696  		nonascii += chr(c)
  8808  		identity_chartable += " "
  9697  		identity_chartable += " "
  8809  
  9698  
  8810 -	def __init__(self, name, command, versioncommand, versionresult, id="", log = raptor_utilities.nulllog):
  9699 -	def __init__(self, name, command, versioncommand, versionresult, id="", log = raptor_utilities.nulllog):
  8811 +	def __init__(self, name, command, versioncommand, versionresult, id=""):
  9700 +	def __init__(self, name, command, versioncommand, versionresult, id=""):
  8812  		self.name = name
  9701  		self.name = name
  8813  		self.command = command
  9702  		self.command = command
  8814  		self.versioncommand = versioncommand
  9703  		self.versioncommand = versioncommand
  8815 @@ -1097,7 +1191,6 @@
  9704 @@ -1097,7 +1197,6 @@
  8816  		# version until someone proves that it's OK
  9705  		# version until someone proves that it's OK
  8817  		self.valid = False
  9706  		self.valid = False
  8818  
  9707  
  8819 -		self.log=log
  9708 -		self.log=log
  8820  
  9709  
  8821  	def expand(self, toolset):
  9710  	def expand(self, toolset):
  8822  		self.versioncommand = toolset.ExpandAll(self.versioncommand)
  9711  		self.versioncommand = toolset.ExpandAll(self.versioncommand)
  8823 @@ -1117,7 +1210,7 @@
  9712 @@ -1117,7 +1216,7 @@
  8824  				# If it really is not a simple command then we won't be able to get a date and
  9713  				# If it really is not a simple command then we won't be able to get a date and
  8825  				# we won't be able to tell if it is altered or updated - too bad!
  9714  				# we won't be able to tell if it is altered or updated - too bad!
  8826  				testfile = generic_path.Where(self.command)
  9715  				testfile = generic_path.Where(self.command)
  8827 -				self.log.Debug("toolcheck: tool '%s' was found on the path at '%s' ", self.command, testfile)
  9716 -				self.log.Debug("toolcheck: tool '%s' was found on the path at '%s' ", self.command, testfile)
  8828 +				#self.log.Debug("toolcheck: tool '%s' was found on the path at '%s' ", self.command, testfile)
  9717 +				#self.log.Debug("toolcheck: tool '%s' was found on the path at '%s' ", self.command, testfile)
  8829  				if testfile is None:
  9718  				if testfile is None:
  8830  					raise Exception("Can't be found in path")
  9719  					raise Exception("Can't be found in path")
  8831  
  9720  
  8832 @@ -1127,18 +1220,20 @@
  9721 @@ -1127,18 +1226,20 @@
  8833  			testfile_stat = os.stat(testfile)
  9722  			testfile_stat = os.stat(testfile)
  8834  			self.date = testfile_stat.st_mtime
  9723  			self.date = testfile_stat.st_mtime
  8835  		except Exception,e:
  9724  		except Exception,e:
  8836 -			self.log.Debug("toolcheck: '%s=%s' cannot be dated - this is ok, but the toolcheck won't be able to tell when a new  of the tool is installed. (%s)", self.name, self.command, str(e))
  9725 -			self.log.Debug("toolcheck: '%s=%s' cannot be dated - this is ok, but the toolcheck won't be able to tell when a new  of the tool is installed. (%s)", self.name, self.command, str(e))
  8837 +			# We really don't mind if the tool could not be dated - for any reason
  9726 +			# We really don't mind if the tool could not be dated - for any reason
  8851  			versionoutput,err = p.communicate()
  9740  			versionoutput,err = p.communicate()
  8852 -			self.log.Debug("Checking tool '%s' for version '%s'", self.name, self.versionresult)
  9741 -			self.log.Debug("Checking tool '%s' for version '%s'", self.name, self.versionresult)
  8853  		except Exception,e:
  9742  		except Exception,e:
  8854  			versionoutput=None
  9743  			versionoutput=None
  8855  
  9744  
  8856 @@ -1148,12 +1243,11 @@
  9745 @@ -1148,12 +1249,11 @@
  8857  		versionoutput_a = versionoutput.translate(Tool.identity_chartable,"")
  9746  		versionoutput_a = versionoutput.translate(Tool.identity_chartable,"")
  8858  
  9747  
  8859  		if versionoutput_a and self.vre.search(versionoutput_a) != None:
  9748  		if versionoutput_a and self.vre.search(versionoutput_a) != None:
  8860 -			self.log.Debug("tool '%s' returned an acceptable version '%s' at %s", self.name, versionoutput_a, str(self.date))
  9749 -			self.log.Debug("tool '%s' returned an acceptable version '%s' at %s", self.name, versionoutput_a, str(self.date))
  8861 +			log.Debug("tool '%s' returned an acceptable version '%s'", self.name, versionoutput_a)
  9750 +			log.Debug("tool '%s' returned an acceptable version '%s'", self.name, versionoutput_a)
  8866 -		return self.valid
  9755 -		return self.valid
  8867 +			raise ToolErrorException("tool '%s' from config '%s' did not return version '%s' as required.\nCommand '%s' returned:\n%s\nCheck your environment and configuration.\n" % (self.name, self.id, self.versionresult, self.versioncommand, versionoutput_a))
  9756 +			raise ToolErrorException("tool '%s' from config '%s' did not return version '%s' as required.\nCommand '%s' returned:\n%s\nCheck your environment and configuration.\n" % (self.name, self.id, self.versionresult, self.versioncommand, versionoutput_a))
  8868  
  9757  
  8869  def envhash(irrelevant_vars):
  9758  def envhash(irrelevant_vars):
  8870  	"""Determine something unique about this environment to identify it.
  9759  	"""Determine something unique about this environment to identify it.
  8871 @@ -1175,6 +1269,9 @@
  9760 @@ -1175,6 +1275,9 @@
  8872  	write() is used to flush the cache to disc.
  9761  	write() is used to flush the cache to disc.
  8873  	"""
  9762  	"""
  8874  	# The raptor shell - this is not mutable.
  9763  	# The raptor shell - this is not mutable.
  8875 +	if 'SBS_SHELL' in os.environ:
  9764 +	if 'SBS_SHELL' in os.environ:
  8876 +		shell = os.environ['SBS_SHELL']
  9765 +		shell = os.environ['SBS_SHELL']
  8877 +	else:
  9766 +	else:
  8878  	hostbinaries = os.path.join(os.environ['SBS_HOME'], 
  9767  	hostbinaries = os.path.join(os.environ['SBS_HOME'], 
  8879  	                            os.environ['HOSTPLATFORM_DIR'])
  9768  	                            os.environ['HOSTPLATFORM_DIR'])
  8880  	                            
  9769  	                            
  8881 @@ -1256,7 +1353,6 @@
  9770 @@ -1256,7 +1359,6 @@
  8882  								log.Info("Ignoring garbled toolcheck cache: %s (%s)\n", self.cachefilename, str(e))
  9771  								log.Info("Ignoring garbled toolcheck cache: %s (%s)\n", self.cachefilename, str(e))
  8883  								self.__toolcheckcache = {}
  9772  								self.__toolcheckcache = {}
  8884  								
  9773  								
  8885 -									
  9774 -									
  8886  						else:
  9775  						else:
  8887  							log.Info("Toolcheck cache %s ignored - environment changed\n", self.cachefilename)
  9776  							log.Info("Toolcheck cache %s ignored - environment changed\n", self.cachefilename)
  8888  					else:
  9777  					else:
  8889 @@ -1316,8 +1412,11 @@
  9778 @@ -1316,8 +1418,11 @@
  8890  
  9779  
  8891  			self.log.Debug("toolcheck done: %s -key: %s" % (tool.name, tool.key))
  9780  			self.log.Debug("toolcheck done: %s -key: %s" % (tool.name, tool.key))
  8892  
  9781  
  8893 -			if not tool.check(ToolSet.shell, evaluator):
  9782 -			if not tool.check(ToolSet.shell, evaluator):
  8894 +			try:
  9783 +			try:
  8897  				self.valid = False
  9786  				self.valid = False
  8898 +				self.log.Error("%s\n" % str(e))
  9787 +				self.log.Error("%s\n" % str(e))
  8899  
  9788  
  8900  			# Tool failures are cached just like successes - don't want to repeat them
  9789  			# Tool failures are cached just like successes - don't want to repeat them
  8901  			cache[tool.key] =  { "name" : tool.name, "valid" : tool.valid, "age" : 0 , "date" : tool.date }
  9790  			cache[tool.key] =  { "name" : tool.name, "valid" : tool.valid, "age" : 0 , "date" : tool.date }
  8902 @@ -1356,6 +1455,11 @@
  9791 @@ -1356,6 +1461,11 @@
  8903  				self.log.Info("Could not write toolcheck cache: %s", str(e))
  9792  				self.log.Info("Could not write toolcheck cache: %s", str(e))
  8904  		return self.valid
  9793  		return self.valid
  8905  
  9794  
  8906 +class UninitialisedVariableException(Exception):
  9795 +class UninitialisedVariableException(Exception):
  8907 +	pass
  9796 +	pass
  8909 +class RecursionException(Exception):
  9798 +class RecursionException(Exception):
  8910 +	pass
  9799 +	pass
  8911  
  9800  
  8912  class Evaluator(object):
  9801  class Evaluator(object):
  8913  	"""Determine the values of variables under different Configurations.
  9802  	"""Determine the values of variables under different Configurations.
  8914 @@ -1364,11 +1468,11 @@
  9803 @@ -1364,11 +1474,11 @@
  8915  
  9804  
  8916  	refRegex = re.compile("\$\((.+?)\)")
  9805  	refRegex = re.compile("\$\((.+?)\)")
  8917  
  9806  
  8918 -	def __init__(self, Raptor, specification, buildUnit, gathertools = False):
  9807 -	def __init__(self, Raptor, specification, buildUnit, gathertools = False):
  8919 -		self.raptor = Raptor
  9808 -		self.raptor = Raptor
  8923  		self.gathertools = gathertools
  9812  		self.gathertools = gathertools
  8924 +		self.cache = cache
  9813 +		self.cache = cache
  8925  
  9814  
  8926  		specName = "none"
  9815  		specName = "none"
  8927  		configName = "none"
  9816  		configName = "none"
  8928 @@ -1377,14 +1481,18 @@
  9817 @@ -1377,14 +1487,18 @@
  8929  		opsLists = []
  9818  		opsLists = []
  8930  
  9819  
  8931  		if buildUnit:
  9820  		if buildUnit:
  8932 -			opsLists.extend( buildUnit.GetOperations() )
  9821 -			opsLists.extend( buildUnit.GetOperations() )
  8933 +			ol = buildUnit.GetOperations(cache)
  9822 +			ol = buildUnit.GetOperations(cache)
  8945  
  9834  
  8946 +		unfound_values = []
  9835 +		unfound_values = []
  8947  		for opsList in opsLists:
  9836  		for opsList in opsLists:
  8948  			for op in opsList:
  9837  			for op in opsList:
  8949  				# applying an Operation to a non-existent variable
  9838  				# applying an Operation to a non-existent variable
  8950 @@ -1394,13 +1502,20 @@
  9839 @@ -1394,13 +1508,20 @@
  8951  				except KeyError:
  9840  				except KeyError:
  8952  					oldValue = ""
  9841  					oldValue = ""
  8953  
  9842  
  8954 +				try:
  9843 +				try:
  8955  				newValue = op.Apply(oldValue)
  9844  				newValue = op.Apply(oldValue)
  8967 +		if len(unfound_values) > 0:
  9856 +		if len(unfound_values) > 0:
  8968 +			raise UninitialisedVariableException("\n".join(unfound_values))
  9857 +			raise UninitialisedVariableException("\n".join(unfound_values))
  8969  
  9858  
  8970  		if self.gathertools:
  9859  		if self.gathertools:
  8971  			self.tools = tools.values()
  9860  			self.tools = tools.values()
  8972 @@ -1417,8 +1532,7 @@
  9861 @@ -1417,8 +1538,7 @@
  8973  			unresolved = False
  9862  			unresolved = False
  8974  			for k, v in self.dict.items():
  9863  			for k, v in self.dict.items():
  8975  				if v.find('$(' + k + ')') != -1:
  9864  				if v.find('$(' + k + ')') != -1:
  8976 -					self.raptor.Error("Recursion Detected in variable '%s' in configuration '%s' ",k,configName)
  9865 -					self.raptor.Error("Recursion Detected in variable '%s' in configuration '%s' ",k,configName)
  8977 -					expanded = "RECURSIVE_INVALID_STRING"
  9866 -					expanded = "RECURSIVE_INVALID_STRING"
  8978 +						raise RecursionException("Recursion Detected in variable '%s' in configuration '%s' " % (k,configName))
  9867 +						raise RecursionException("Recursion Detected in variable '%s' in configuration '%s' " % (k,configName))
  8979  				else:
  9868  				else:
  8980  					expanded = self.ExpandAll(v, specName, configName)
  9869  					expanded = self.ExpandAll(v, specName, configName)
  8981  
  9870  
  8982 @@ -1466,20 +1580,24 @@
  9871 @@ -1466,20 +1586,24 @@
  8983  
  9872  
  8984  		refs = Evaluator.refRegex.findall(value)
  9873  		refs = Evaluator.refRegex.findall(value)
  8985  
  9874  
  8986 +		# store up all the unset variables before raising an exception
  9875 +		# store up all the unset variables before raising an exception
  8987 +		# to allow us to find them all
  9876 +		# to allow us to find them all
  9009  		return value
  9898  		return value
  9010  
  9899  
  9011  
  9900  
  9012 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_makefile.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_makefile.py
  9901 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_makefile.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_makefile.py
  9013 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_makefile.py	2010-05-18 19:32:34.793348934 +0100
  9902 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_makefile.py	2010-05-18 19:32:34.793348934 +0100
  9014 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_makefile.py	2010-05-17 18:47:53.096843000 +0100
  9903 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_makefile.py	2010-06-04 12:09:25.035850000 +0100
  9015 @@ -134,6 +134,15 @@
  9904 @@ -134,6 +134,15 @@
  9016  
  9905  
  9017  		return True
  9906  		return True
  9018  
  9907  
  9019 +	def addInclude(self, makefilename):
  9908 +	def addInclude(self, makefilename):
  9040  	def makefileNames(self):
  9929  	def makefileNames(self):
  9041  		for mf in self.makefiles:
  9930  		for mf in self.makefiles:
  9042  			yield str(mf.filename)
  9931  			yield str(mf.filename)
  9043 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_make.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_make.py
  9932 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_make.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_make.py
  9044 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_make.py	2010-05-18 19:32:34.793348934 +0100
  9933 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_make.py	2010-05-18 19:32:34.793348934 +0100
  9045 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_make.py	2010-05-17 18:47:53.096843000 +0100
  9934 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_make.py	2010-06-04 12:09:25.035850000 +0100
  9046 @@ -1,5 +1,5 @@
  9935 @@ -1,5 +1,5 @@
  9047  #
  9936  #
  9048 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  9937 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
  9049 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  9938 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
  9050  # All rights reserved.
  9939  # All rights reserved.
  9051  # This component and the accompanying materials are made available
  9940  # This component and the accompanying materials are made available
  9052  # under the terms of the License "Eclipse Public License v1.0"
  9941  # under the terms of the License "Eclipse Public License v1.0"
  9053 @@ -20,27 +20,120 @@
  9942 @@ -20,27 +20,123 @@
  9054  import os
  9943  import os
  9055  import random
  9944  import random
  9056  import raptor
  9945  import raptor
  9057 -import raptor_data
  9946 -import raptor_data
  9058 +import raptor_timing
  9947 +import raptor_timing
  9101 +			yield escape(line)
  9990 +			yield escape(line)
  9102 +
  9991 +
  9103 +def AnnoFileParseOutput(annofile):
  9992 +def AnnoFileParseOutput(annofile):
  9104 +	""" A generator that extracts log output from an emake annotation file, 
  9993 +	""" A generator that extracts log output from an emake annotation file, 
  9105 +	    perform an XML-unescape on it and "yields" it line by line.  """
  9994 +	    perform an XML-unescape on it and "yields" it line by line.  """
  9106 +	af = open(annofile, "r")
  9995 +	if isinstance(annofile,str):
       
  9996 +		af = open(annofile, "r")
       
  9997 +	else:
       
  9998 +		af = annofile
  9107 +
  9999 +
  9108 +	inOutput = False
 10000 +	inOutput = False
  9109 +
 10001 +
  9110 +	buildid = ""
 10002 +	buildid = ""
  9111 +	for line in af:
 10003 +	for line in af:
  9174 -		engine = Raptor.makeEngine
 10066 -		engine = Raptor.makeEngine
  9175 -		
 10067 -		
  9176  		# look for an alias first as this gives end-users a chance to modify
 10068  		# look for an alias first as this gives end-users a chance to modify
  9177  		# the shipped variant rather than completely replacing it.
 10069  		# the shipped variant rather than completely replacing it.
  9178  		if engine in Raptor.cache.aliases:
 10070  		if engine in Raptor.cache.aliases:
  9179 @@ -48,12 +141,14 @@
 10071 @@ -48,12 +144,14 @@
  9180  		elif engine in Raptor.cache.variants:
 10072  		elif engine in Raptor.cache.variants:
  9181  			avar = Raptor.cache.FindNamedVariant(engine)
 10073  			avar = Raptor.cache.FindNamedVariant(engine)
  9182  		else:
 10074  		else:
  9183 -			Raptor.Error("No settings found for build engine '%s'", engine)
 10075 -			Raptor.Error("No settings found for build engine '%s'", engine)
  9184 -			return
 10076 -			return
  9192 -			units = avar.GenerateBuildUnits()
 10084 -			units = avar.GenerateBuildUnits()
  9193 +			units = avar.GenerateBuildUnits(Raptor.cache)
 10085 +			units = avar.GenerateBuildUnits(Raptor.cache)
  9194  			evaluator = Raptor.GetEvaluator( None, units[0] , gathertools=True)
 10086  			evaluator = Raptor.GetEvaluator( None, units[0] , gathertools=True)
  9195  
 10087  
  9196  			# shell
 10088  			# shell
  9197 @@ -75,6 +170,25 @@
 10089 @@ -64,6 +162,12 @@
       
 10090  			self.talontimeout = str(evaluator.Get("TALON_TIMEOUT"))
       
 10091  			self.talonretries = str(evaluator.Get("TALON_RETRIES"))
       
 10092  
       
 10093 +			# work around for RVCT 2.2 failed compiles
       
 10094 +			delete_on_failed_compile_s = evaluator.Get("DELETE_ON_FAILED_COMPILE")
       
 10095 +			self.delete_on_failed_compile = ""
       
 10096 +			if delete_on_failed_compile_s is not None and delete_on_failed_compile_s != "":
       
 10097 +				self.delete_on_failed_compile = "1"
       
 10098 +
       
 10099  			# commands
       
 10100  			self.initCommand = evaluator.Get("initialise")
       
 10101  			self.buildCommand = evaluator.Get("build")
       
 10102 @@ -75,6 +179,25 @@
  9198  			self.jobsOption = evaluator.Get("jobs")
 10103  			self.jobsOption = evaluator.Get("jobs")
  9199  			self.defaultMakeOptions = evaluator.Get("defaultoptions")
 10104  			self.defaultMakeOptions = evaluator.Get("defaultoptions")
  9200  
 10105  
  9201 +			# Logging
 10106 +			# Logging
  9202 +			#  copylogfromannofile means, for emake, that we should ignore 
 10107 +			#  copylogfromannofile means, for emake, that we should ignore 
  9218 +					self.copyLogFromAnnoFile = False
 10123 +					self.copyLogFromAnnoFile = False
  9219 +
 10124 +
  9220  			# buffering
 10125  			# buffering
  9221  			self.scrambled = (evaluator.Get("scrambled") == "true")
 10126  			self.scrambled = (evaluator.Get("scrambled") == "true")
  9222  
 10127  
  9223 @@ -101,14 +215,13 @@
 10128 @@ -101,14 +224,13 @@
  9224  				self.selectors = []
 10129  				self.selectors = []
  9225  
 10130  
  9226  		except KeyError:
 10131  		except KeyError:
  9227 -			Raptor.Error("Bad '%s' configuration found.", engine)
 10132 -			Raptor.Error("Bad '%s' configuration found.", engine)
  9228  			self.valid = False
 10133  			self.valid = False
  9235  				self.valid = False
 10140  				self.valid = False
  9236 +			raise BadMakeEngineException("No build command for '%s'"% engine)
 10141 +			raise BadMakeEngineException("No build command for '%s'"% engine)
  9237  
 10142  
  9238  
 10143  
  9239  		if self.usetalon:
 10144  		if self.usetalon:
  9240 @@ -123,7 +236,7 @@
 10145 @@ -123,7 +245,7 @@
  9241   component='$$COMPONENT_NAME'\
 10146   component='$$COMPONENT_NAME'\
  9242   bldinf='$$COMPONENT_META' mmp='$$PROJECT_META'\
 10147   bldinf='$$COMPONENT_META' mmp='$$PROJECT_META'\
  9243   config='$$SBS_CONFIGURATION' platform='$$PLATFORM'\
 10148   config='$$SBS_CONFIGURATION' platform='$$PLATFORM'\
  9244 - phase='$$MAKEFILE_GROUP' source='$$SOURCE
 10149 - phase='$$MAKEFILE_GROUP' source='$$SOURCE
  9245 + phase='$$MAKEFILE_GROUP' source='$$SOURCE'
 10150 + phase='$$MAKEFILE_GROUP' source='$$SOURCE'
  9246  export TALON_RECIPEATTRIBUTES TALON_SHELL TALON_TIMEOUT
 10151  export TALON_RECIPEATTRIBUTES TALON_SHELL TALON_TIMEOUT
  9247  USE_TALON:=%s
 10152  USE_TALON:=%s
  9248  
 10153  
  9249 @@ -135,7 +248,21 @@
 10154 @@ -135,7 +257,21 @@
  9250  """
 10155  """
  9251  		
 10156  		
  9252  
 10157  
  9253 +		timing_start = "$(info " + \
 10158 +		timing_start = "$(info " + \
  9254 +				raptor_timing.Timing.custom_string(tag = "start",
 10159 +				raptor_timing.Timing.custom_string(tag = "start",
  9266  		self.makefile_prologue = """
 10171  		self.makefile_prologue = """
  9267 +
 10172 +
  9268  # generated by %s %s
 10173  # generated by %s %s
  9269  
 10174  
  9270  HOSTPLATFORM:=%s
 10175  HOSTPLATFORM:=%s
  9271 @@ -143,12 +270,13 @@
 10176 @@ -143,22 +279,49 @@
  9272  OSTYPE:=%s
 10177  OSTYPE:=%s
  9273  FLMHOME:=%s
 10178  FLMHOME:=%s
  9274  SHELL:=%s
 10179  SHELL:=%s
  9275 +THIS_FILENAME:=$(firstword $(MAKEFILE_LIST))
 10180 +THIS_FILENAME:=$(firstword $(MAKEFILE_LIST))
       
 10181 +DELETE_ON_FAILED_COMPILE:=%s 
  9276  
 10182  
  9277  %s
 10183  %s
  9278  
 10184  
  9279  include %s
 10185  include %s
  9280  
 10186  
  9281 -""" 		% (  raptor.name, raptor_version.Version(),
 10187 -""" 		% (  raptor.name, raptor_version.Version(),
  9282 +""" 		% (  raptor.name, raptor_version.fullversion(),
 10188 +""" 		% (  raptor.name, raptor_version.fullversion(),
  9283  			 " ".join(raptor.hostplatform),
 10189  			 " ".join(raptor.hostplatform),
  9284  			 raptor.hostplatform_dir,
 10190  			 raptor.hostplatform_dir,
  9285  			 self.raptor.filesystem,
 10191  			 self.raptor.filesystem,
  9286 @@ -157,8 +285,32 @@
 10192  			 str(self.raptor.systemFLM),
       
 10193  			 self.shellpath,
       
 10194 +			 self.delete_on_failed_compile,
  9287  			 talon_settings,
 10195  			 talon_settings,
  9288  			 self.raptor.systemFLM.Append('globals.mk') )
 10196  			 self.raptor.systemFLM.Append('globals.mk') )
  9289  
 10197  
  9290 +		# Unless dependency processing has been eschewed via the CLI, use a .DEFAULT target to
 10198 +		# Unless dependency processing has been eschewed via the CLI, use a .DEFAULT target to
  9291 +		# trap missing dependencies (ignoring user config files that we know are usually absent)
 10199 +		# trap missing dependencies (ignoring user config files that we know are usually absent)
  9293 +			self.makefile_prologue += """
 10201 +			self.makefile_prologue += """
  9294 +
 10202 +
  9295 +$(FLMHOME)/user/final.mk:
 10203 +$(FLMHOME)/user/final.mk:
  9296 +$(FLMHOME)/user/default.flm:
 10204 +$(FLMHOME)/user/default.flm:
  9297 +$(FLMHOME)/user/globals.mk:
 10205 +$(FLMHOME)/user/globals.mk:
  9298 +
 10206  
       
 10207 -		self.makefile_epilogue = """
  9299 +.DEFAULT::
 10208 +.DEFAULT::
  9300 +	@echo "<warning>Missing dependency detected: $@</warning>"
 10209 +	@echo "<warning>Missing dependency detected: $@</warning>"
  9301  
 10210 +
  9302 -		self.makefile_epilogue = """
       
  9303 +"""
 10211 +"""
  9304 +
 10212 +
  9305 +		# Only output timings if requested on CLI
 10213 +		# Only output timings if requested on CLI
  9306 +		if self.raptor.timing:
 10214 +		if self.raptor.timing:
  9307 +			self.makefile_prologue += "\n# Print Start-time of Makefile parsing\n" \
 10215 +			self.makefile_prologue += "\n# Print Start-time of Makefile parsing\n" \
  9315 +
 10223 +
  9316 +		self.makefile_epilogue += """
 10224 +		self.makefile_epilogue += """
  9317  
 10225  
  9318  include %s
 10226  include %s
  9319  
 10227  
  9320 @@ -168,14 +320,17 @@
 10228 @@ -168,14 +331,17 @@
  9321  		"""Generate a set of makefiles, or one big Makefile."""
 10229  		"""Generate a set of makefiles, or one big Makefile."""
  9322  
 10230  
  9323  		if not self.valid:
 10231  		if not self.valid:
  9324 -			return
 10232 -			return
  9325 +			return None
 10233 +			return None
  9335 -			self.makefileset = MakefileSet(directory = str(toplevel.Dir()),
 10243 -			self.makefileset = MakefileSet(directory = str(toplevel.Dir()),
  9336 +			makefileset = MakefileSet(directory = str(toplevel.Dir()),
 10244 +			makefileset = MakefileSet(directory = str(toplevel.Dir()),
  9337  										   selectors = self.selectors,
 10245  										   selectors = self.selectors,
  9338  										   filenamebase = str(toplevel.File()),
 10246  										   filenamebase = str(toplevel.File()),
  9339  										   prologue = self.makefile_prologue,
 10247  										   prologue = self.makefile_prologue,
  9340 @@ -190,11 +345,10 @@
 10248 @@ -190,11 +356,10 @@
  9341  			self.many = not self.raptor.writeSingleMakefile
 10249  			self.many = not self.raptor.writeSingleMakefile
  9342  
 10250  
  9343  			# add a makefile for each spec under each config
 10251  			# add a makefile for each spec under each config
  9344 -			config_makefileset = self.makefileset
 10252 -			config_makefileset = self.makefileset
  9345 -
 10253 -
  9349 -					config_makefileset = self.makefileset.createChild(c.name)
 10257 -					config_makefileset = self.makefileset.createChild(c.name)
  9350 +					config_makefileset = makefileset.createChild(c.name)
 10258 +					config_makefileset = makefileset.createChild(c.name)
  9351  
 10259  
  9352  				# make sure the config_wide spec item is put out first so that it
 10260  				# make sure the config_wide spec item is put out first so that it
  9353  				# can affect everything.
 10261  				# can affect everything.
  9354 @@ -207,16 +361,22 @@
 10262 @@ -207,16 +372,22 @@
  9355  						ordered_specs.append(s)
 10263  						ordered_specs.append(s)
  9356  
 10264  
  9357  				if config_wide_spec is not None:
 10265  				if config_wide_spec is not None:
  9358 -					config_wide_spec.Configure(c)
 10266 -					config_wide_spec.Configure(c)
  9359 +					config_wide_spec.Configure(c, cache = self.raptor.cache)
 10267 +					config_wide_spec.Configure(c, cache = self.raptor.cache)
  9376 +
 10284 +
  9377 +		return makefileset
 10285 +		return makefileset
  9378  
 10286  
  9379  
 10287  
  9380  	def WriteConfiguredSpec(self, parentMakefileSet, spec, config, useAllInterfaces):
 10288  	def WriteConfiguredSpec(self, parentMakefileSet, spec, config, useAllInterfaces):
  9381 @@ -233,9 +393,10 @@
 10289 @@ -233,9 +404,10 @@
  9382  		guard = None
 10290  		guard = None
  9383  		if hasInterface:
 10291  		if hasInterface:
  9384  			# find the Interface (it may be a ref)
 10292  			# find the Interface (it may be a ref)
  9385 -			iface = spec.GetInterface()
 10293 -			iface = spec.GetInterface()
  9386 +			try:
 10294 +			try:
  9389 -			if iface == None:
 10297 -			if iface == None:
  9390 +			except raptor_data.MissingInterfaceError, e:	
 10298 +			except raptor_data.MissingInterfaceError, e:	
  9391  				self.raptor.Error("No interface for '%s'", spec.name)
 10299  				self.raptor.Error("No interface for '%s'", spec.name)
  9392  				return
 10300  				return
  9393  
 10301  
  9394 @@ -268,12 +429,12 @@
 10302 @@ -268,12 +440,12 @@
  9395  				md5hash.update(value)
 10303  				md5hash.update(value)
  9396  
 10304  
  9397  			# parameters required by the interface
 10305  			# parameters required by the interface
  9398 -			for p in iface.GetParams():
 10306 -			for p in iface.GetParams():
  9399 +			for p in iface.GetParams(self.raptor.cache):
 10307 +			for p in iface.GetParams(self.raptor.cache):
  9404 -			for g in iface.GetParamGroups():
 10312 -			for g in iface.GetParamGroups():
  9405 +			for g in iface.GetParamGroups(self.raptor.cache):
 10313 +			for g in iface.GetParamGroups(self.raptor.cache):
  9406  				for k,v in evaluator.ResolveMatching(g.patternre):
 10314  				for k,v in evaluator.ResolveMatching(g.patternre):
  9407  					addparam(k,v,g.default)
 10315  					addparam(k,v,g.default)
  9408  
 10316  
  9409 @@ -301,7 +462,7 @@
 10317 @@ -301,7 +473,7 @@
  9410  
 10318  
  9411  		# generate the call to the FLM
 10319  		# generate the call to the FLM
  9412  		if iface is not None:
 10320  		if iface is not None:
  9413 -			makefileset.addCall(spec.name, config.name, iface.name, useAllInterfaces, iface.GetFLMIncludePath(), parameters, guard)
 10321 -			makefileset.addCall(spec.name, config.name, iface.name, useAllInterfaces, iface.GetFLMIncludePath(), parameters, guard)
  9414 +			makefileset.addCall(spec.name, config.name, iface.name, useAllInterfaces, iface.GetFLMIncludePath(self.raptor.cache), parameters, guard)
 10322 +			makefileset.addCall(spec.name, config.name, iface.name, useAllInterfaces, iface.GetFLMIncludePath(self.raptor.cache), parameters, guard)
  9415  
 10323  
  9416  		# recursive includes
 10324  		# recursive includes
  9417  
 10325  
  9418 @@ -341,7 +502,7 @@
 10326 @@ -341,7 +513,7 @@
  9419  				return False
 10327  				return False
  9420  
 10328  
  9421  		# Save file names to a list, to allow the order to be reversed
 10329  		# Save file names to a list, to allow the order to be reversed
  9422 -		fileName_list = list(self.makefileset.makefileNames())
 10330 -		fileName_list = list(self.makefileset.makefileNames())
  9423 +		fileName_list = list(makefileset.makefileNames())
 10331 +		fileName_list = list(makefileset.makefileNames())
  9424  
 10332  
  9425  		# Iterate through args passed to raptor, searching for CLEAN or REALLYCLEAN
 10333  		# Iterate through args passed to raptor, searching for CLEAN or REALLYCLEAN
  9426  		clean_flag = False
 10334  		clean_flag = False
  9427 @@ -354,6 +515,9 @@
 10335 @@ -354,6 +526,9 @@
  9428  		if clean_flag:
 10336  		if clean_flag:
  9429  			fileName_list.reverse()
 10337  			fileName_list.reverse()
  9430  
 10338  
  9431 +		# Report number of makefiles to be built
 10339 +		# Report number of makefiles to be built
  9432 +		self.raptor.InfoDiscovery(object_type = "makefile", count = len(fileName_list))
 10340 +		self.raptor.InfoDiscovery(object_type = "makefile", count = len(fileName_list))
  9433 +
 10341 +
  9434  		# Process each file in turn
 10342  		# Process each file in turn
  9435  		for makefile in fileName_list:
 10343  		for makefile in fileName_list:
  9436  			if not os.path.exists(makefile):
 10344  			if not os.path.exists(makefile):
  9437 @@ -364,7 +528,7 @@
 10345 @@ -364,7 +539,7 @@
  9438  			command = self.buildCommand
 10346  			command = self.buildCommand
  9439  
 10347  
  9440  			if self.makefileOption:
 10348  			if self.makefileOption:
  9441 -				command += " " + self.makefileOption + " " + '"' + str(makefile) + '"'
 10349 -				command += " " + self.makefileOption + " " + '"' + str(makefile) + '"'
  9442 +				command += " " + self.makefileOption + " " + ' "' + str(makefile) + '" '
 10350 +				command += " " + self.makefileOption + " " + ' "' + str(makefile) + '" '
  9443  
 10351  
  9444  			if self.raptor.keepGoing and self.keepGoingOption:
 10352  			if self.raptor.keepGoing and self.keepGoingOption:
  9445  				command += " " + self.keepGoingOption
 10353  				command += " " + self.keepGoingOption
  9446 @@ -377,12 +541,20 @@
 10354 @@ -377,12 +552,20 @@
  9447  			command += " " + self.defaultMakeOptions
 10355  			command += " " + self.defaultMakeOptions
  9448  			# Can supply options on the commandline to override default settings.
 10356  			# Can supply options on the commandline to override default settings.
  9449  			if len(self.raptor.makeOptions) > 0:
 10357  			if len(self.raptor.makeOptions) > 0:
  9450 -				command += " " + " ".join(self.raptor.makeOptions)
 10358 -				command += " " + " ".join(self.raptor.makeOptions)
  9451 +				for o in self.raptor.makeOptions:
 10359 +				for o in self.raptor.makeOptions:
  9464 +				command += " NO_DEPEND_GENERATE=1"
 10372 +				command += " NO_DEPEND_GENERATE=1"
  9465 +			
 10373 +			
  9466  			if self.usetalon:
 10374  			if self.usetalon:
  9467  				# use the descrambler if we set it up
 10375  				# use the descrambler if we set it up
  9468  				command += ' TALON_DESCRAMBLE=' 
 10376  				command += ' TALON_DESCRAMBLE=' 
  9469 @@ -401,7 +573,7 @@
 10377 @@ -401,7 +584,7 @@
  9470  
 10378  
  9471  			# targets go at the end, if the makefile supports them
 10379  			# targets go at the end, if the makefile supports them
  9472  			addTargets = self.raptor.targets[:]
 10380  			addTargets = self.raptor.targets[:]
  9473 -			ignoreTargets = self.makefileset.ignoreTargets(makefile)
 10381 -			ignoreTargets = self.makefileset.ignoreTargets(makefile)
  9474 +			ignoreTargets = makefileset.ignoreTargets(makefile)
 10382 +			ignoreTargets = makefileset.ignoreTargets(makefile)
  9475  			if addTargets and ignoreTargets:
 10383  			if addTargets and ignoreTargets:
  9476  				for target in self.raptor.targets:
 10384  				for target in self.raptor.targets:
  9477  					if re.match(ignoreTargets, target):
 10385  					if re.match(ignoreTargets, target):
  9478 @@ -410,6 +582,23 @@
 10386 @@ -410,6 +593,23 @@
  9479  			if addTargets:
 10387  			if addTargets:
  9480  				command += " " + " ".join(addTargets)
 10388  				command += " " + " ".join(addTargets)
  9481  
 10389  
  9482 +			# Send stderr to a file so that it can't mess up the log (e.g.
 10390 +			# Send stderr to a file so that it can't mess up the log (e.g.
  9483 +			# clock skew messages from some build engines scatter their
 10391 +			# clock skew messages from some build engines scatter their
  9497 +			command = command.replace("#MAKEFILE#", str(makefile))
 10405 +			command = command.replace("#MAKEFILE#", str(makefile))
  9498 +
 10406 +
  9499  			self.raptor.Info("Executing '%s'", command)
 10407  			self.raptor.Info("Executing '%s'", command)
  9500  
 10408  
  9501  			# execute the build.
 10409  			# execute the build.
  9502 @@ -417,6 +606,10 @@
 10410 @@ -417,6 +617,10 @@
  9503  			# bufsize=1 means "line buffered"
 10411  			# bufsize=1 means "line buffered"
  9504  			#
 10412  			#
  9505  			try:
 10413  			try:
  9506 +				# Time the build
 10414 +				# Time the build
  9507 +				self.raptor.InfoStartTime(object_type = "makefile",
 10415 +				self.raptor.InfoStartTime(object_type = "makefile",
  9508 +						task = "build", key = str(makefile))
 10416 +						task = "build", key = str(makefile))
  9509 +				
 10417 +				
  9510  				makeenv=os.environ.copy()
 10418  				makeenv=os.environ.copy()
  9511  				if self.usetalon:
 10419  				if self.usetalon:
  9512  					makeenv['TALON_RECIPEATTRIBUTES']="none"
 10420  					makeenv['TALON_RECIPEATTRIBUTES']="none"
  9513 @@ -423,28 +616,55 @@
 10421 @@ -423,28 +627,55 @@
  9514  					makeenv['TALON_SHELL']=self.talonshell
 10422  					makeenv['TALON_SHELL']=self.talonshell
  9515  					makeenv['TALON_BUILDID']=str(self.buildID)
 10423  					makeenv['TALON_BUILDID']=str(self.buildID)
  9516  					makeenv['TALON_TIMEOUT']=str(self.talontimeout)
 10424  					makeenv['TALON_TIMEOUT']=str(self.talontimeout)
  9517 +
 10425 +
  9518  				if self.raptor.filesystem == "unix":
 10426  				if self.raptor.filesystem == "unix":
  9571 +						task = "build", key = str(makefile))
 10479 +						task = "build", key = str(makefile))
  9572 +
 10480 +
  9573  				if returncode != 0  and not self.raptor.keepGoing:
 10481  				if returncode != 0  and not self.raptor.keepGoing:
  9574  					self.Tidy()
 10482  					self.Tidy()
  9575  					return False
 10483  					return False
  9576 @@ -452,6 +672,9 @@
 10484 @@ -452,6 +683,9 @@
  9577  			except Exception,e:
 10485  			except Exception,e:
  9578  				self.raptor.Error("Exception '%s' during '%s'", str(e), command)
 10486  				self.raptor.Error("Exception '%s' during '%s'", str(e), command)
  9579  				self.Tidy()
 10487  				self.Tidy()
  9580 +				# Still report end-time of the build
 10488 +				# Still report end-time of the build
  9581 +				self.raptor.InfoEndTime(object_type = "Building", task = "Makefile",
 10489 +				self.raptor.InfoEndTime(object_type = "Building", task = "Makefile",
  9582 +						key = str(makefile))
 10490 +						key = str(makefile))
  9583  				return False
 10491  				return False
  9584  
 10492  
  9585  		# run any shutdown script
 10493  		# run any shutdown script
  9586 @@ -496,7 +719,7 @@
 10494 @@ -496,7 +730,7 @@
  9587  			looking = (os.system(command) != 0)
 10495  			looking = (os.system(command) != 0)
  9588  			tries += 1
 10496  			tries += 1
  9589  		if looking:
 10497  		if looking:
  9590 -			self.raptor.Error("Failed to initilaise the talon shell for this build")
 10498 -			self.raptor.Error("Failed to initilaise the talon shell for this build")
  9591 +			self.raptor.Error("Failed to initialise the talon shell for this build")
 10499 +			self.raptor.Error("Failed to initialise the talon shell for this build")
  9592  			self.talonctl = ""
 10500  			self.talonctl = ""
  9593  			return False
 10501  			return False
  9594  		
 10502  		
  9595 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_meta.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_meta.py
 10503 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_meta.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_meta.py
  9596 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_meta.py	2010-05-18 19:32:34.793348934 +0100
 10504 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_meta.py	2010-05-18 19:32:34.793348934 +0100
  9597 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_meta.py	2010-05-17 18:47:53.100842000 +0100
 10505 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_meta.py	2010-06-04 12:09:25.039849000 +0100
  9598 @@ -1,5 +1,5 @@
 10506 @@ -1,5 +1,5 @@
  9599  #
 10507  #
  9600 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
 10508 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
  9601 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 10509 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
  9602  # All rights reserved.
 10510  # All rights reserved.
  9603  # This component and the accompanying materials are made available
 10511  # This component and the accompanying materials are made available
  9604  # under the terms of the License "Eclipse Public License v1.0"
 10512  # under the terms of the License "Eclipse Public License v1.0"
  9605 @@ -31,6 +31,7 @@
 10513 @@ -31,9 +31,11 @@
  9606  import generic_path
 10514  import generic_path
  9607  import subprocess
 10515  import subprocess
  9608  import zipfile
 10516  import zipfile
  9609 +from xml.sax.saxutils import escape
 10517 +from xml.sax.saxutils import escape
  9610  from mmpparser import *
 10518  from mmpparser import *
  9611  
 10519  
  9612  import time
 10520  import time
  9613 @@ -232,6 +233,19 @@
 10521 +import generic_path
       
 10522  
       
 10523  
       
 10524  PiggyBackedBuildPlatforms = {'ARMV5':['GCCXML']}
       
 10525 @@ -232,6 +234,19 @@
  9614  	return commentDetail
 10526  	return commentDetail
  9615  
 10527  
  9616  
 10528  
  9617 +def getSpecName(aFileRoot, fullPath=False):
 10529 +def getSpecName(aFileRoot, fullPath=False):
  9618 +	"""Returns a build spec name: this is the file root (full path
 10530 +	"""Returns a build spec name: this is the file root (full path
  9628 +
 10540 +
  9629 +
 10541 +
  9630  # Classes
 10542  # Classes
  9631  
 10543  
  9632  class MetaDataError(Exception):
 10544  class MetaDataError(Exception):
  9633 @@ -284,9 +298,8 @@
 10545 @@ -284,9 +299,8 @@
  9634  	def call(self, aArgs, sourcefilename):
 10546  	def call(self, aArgs, sourcefilename):
  9635  		""" Override call so that we can do our own error handling."""
 10547  		""" Override call so that we can do our own error handling."""
  9636  		tool = self._ExternalTool__Tool
 10548  		tool = self._ExternalTool__Tool
  9637 -		try:
 10549 -		try:
  9638  			commandline = tool + " " + aArgs + " " + str(sourcefilename)
 10550  			commandline = tool + " " + aArgs + " " + str(sourcefilename)
  9639 -
 10551 -
  9640 +		try:
 10552 +		try:
  9641  			# the actual call differs between Windows and Unix
 10553  			# the actual call differs between Windows and Unix
  9642  			if raptor_utilities.getOSFileSystem() == "unix":
 10554  			if raptor_utilities.getOSFileSystem() == "unix":
  9643  				p = subprocess.Popen(commandline, \
 10555  				p = subprocess.Popen(commandline, \
  9644 @@ -332,7 +345,7 @@
 10556 @@ -332,7 +346,7 @@
  9645  				raise MetaDataError("Errors in %s" % str(sourcefilename))
 10557  				raise MetaDataError("Errors in %s" % str(sourcefilename))
  9646  
 10558  
  9647  		except Exception,e:
 10559  		except Exception,e:
  9648 -			raise MetaDataError("Preprocessor exception: %s" % str(e))
 10560 -			raise MetaDataError("Preprocessor exception: %s" % str(e))
  9649 +			raise MetaDataError("Preprocessor exception: '%s' : in command : '%s'" % (str(e), commandline))
 10561 +			raise MetaDataError("Preprocessor exception: '%s' : in command : '%s'" % (str(e), commandline))
  9650  
 10562  
  9651  		return 0	# all OK
 10563  		return 0	# all OK
  9652  
 10564  
  9653 @@ -398,11 +411,13 @@
 10565 @@ -398,11 +412,13 @@
  9654  	on the selected build platform.  This class provides a generic means of wrapping
 10566  	on the selected build platform.  This class provides a generic means of wrapping
  9655  	up the preprocessing of such files."""
 10567  	up the preprocessing of such files."""
  9656  
 10568  
  9657 -	def __init__(self, aFilename, gnucpp, aRootLocation=None, log=None):
 10569 -	def __init__(self, aFilename, gnucpp, aRootLocation=None, log=None):
  9658 +	def __init__(self, aFilename, gnucpp, depfiles, aRootLocation=None, log=None):
 10570 +	def __init__(self, aFilename, gnucpp, depfiles, aRootLocation=None, log=None):
  9663 +		@param depfiles     	list to add dependency file tuples to
 10575 +		@param depfiles     	list to add dependency file tuples to
  9664 +		@param aRootLocation    where the file is 
 10576 +		@param aRootLocation    where the file is 
  9665  		@param log 		A class with Debug(<string>), Info(<string>) and Error(<string>) methods
 10577  		@param log 		A class with Debug(<string>), Info(<string>) and Error(<string>) methods
  9666  		"""
 10578  		"""
  9667  		self.filename = aFilename
 10579  		self.filename = aFilename
  9668 @@ -410,6 +425,7 @@
 10580 @@ -410,6 +426,7 @@
  9669  		# Dictionary with key of build platform and a text string of processed output as values
 10581  		# Dictionary with key of build platform and a text string of processed output as values
  9670  		self.__PreProcessedContent = {}
 10582  		self.__PreProcessedContent = {}
  9671  		self.log = log
 10583  		self.log = log
  9672 +		self.depfiles = depfiles
 10584 +		self.depfiles = depfiles
  9673  
 10585  
  9674  		self.__gnucpp = gnucpp
 10586  		self.__gnucpp = gnucpp
  9675  		if gnucpp is None:
 10587  		if gnucpp is None:
  9676 @@ -436,7 +452,7 @@
 10588 @@ -436,7 +453,7 @@
  9677  			else:
 10589  			else:
  9678  				metatarget = "'$(PARSETARGET)'"
 10590  				metatarget = "'$(PARSETARGET)'"
  9679  			generateDepsOptions = "-MD -MF%s -MT%s" % (adepfilename, metatarget)
 10591  			generateDepsOptions = "-MD -MF%s -MT%s" % (adepfilename, metatarget)
  9680 -			aBuildPlatform['METADEPS'].append((adepfilename, metatarget))
 10592 -			aBuildPlatform['METADEPS'].append((adepfilename, metatarget))
  9681 +			self.depfiles.append((adepfilename, metatarget))
 10593 +			self.depfiles.append((adepfilename, metatarget))
  9682  			try:
 10594  			try:
  9683  				os.makedirs(os.path.dirname(adepfilename))
 10595  				os.makedirs(os.path.dirname(adepfilename))
  9684  			except Exception, e:
 10596  			except Exception, e:
  9685 @@ -515,15 +531,17 @@
 10597 @@ -515,15 +532,17 @@
  9686  	on the selected build platform.  This class provides a generic means of wrapping
 10598  	on the selected build platform.  This class provides a generic means of wrapping
  9687  	up the preprocessing of such files."""
 10599  	up the preprocessing of such files."""
  9688  
 10600  
  9689 -	def __init__(self, aFilename, gnucpp, bldinf, log=None):
 10601 -	def __init__(self, aFilename, gnucpp, bldinf, log=None):
  9690 +	def __init__(self, aFilename, gnucpp, bldinf, depfiles, log=None):
 10602 +	def __init__(self, aFilename, gnucpp, bldinf, depfiles, log=None):
  9701  		self.__bldinf = bldinf
 10613  		self.__bldinf = bldinf
  9702 +		self.depfiles = depfiles
 10614 +		self.depfiles = depfiles
  9703  
 10615  
  9704  		self.__gnucpp = gnucpp
 10616  		self.__gnucpp = gnucpp
  9705  		if gnucpp is None:
 10617  		if gnucpp is None:
  9706 @@ -878,8 +896,8 @@
 10618 @@ -750,9 +769,13 @@
       
 10619  			biloc="." # Someone building with a relative raptor path
       
 10620  
       
 10621  		self.__StandardVariables = {}
       
 10622 -		# Relative step-down to the root - let's try ignoring this for now, as it
       
 10623 -		# should amount to the same thing in a world where absolute paths are king
       
 10624 +		# The source root directory is SRCROOT if set in the environment
       
 10625 +		# Set TO_ROOT to SRCROOT in case SBS_BUILD_DIR is on a different drive
       
 10626 +		if 'SRCROOT' in os.environ:
       
 10627 +			self.__StandardVariables['TO_ROOT'] = str(generic_path.Path(os.environ['SRCROOT']))
       
 10628 +		else:
       
 10629  		self.__StandardVariables['TO_ROOT'] = ""
       
 10630 +		
       
 10631  		# Top-level bld.inf location
       
 10632  		self.__StandardVariables['TO_BLDINF'] = biloc
       
 10633  		self.__StandardVariables['EXTENSION_ROOT'] = eiloc
       
 10634 @@ -820,8 +843,11 @@
       
 10635  			eiloc="." # Someone building with a relative raptor path
       
 10636  
       
 10637  		self.__StandardVariables = {}
       
 10638 -		# Relative step-down to the root - let's try ignoring this for now, as it
       
 10639 -		# should amount to the same thing in a world where absolute paths are king
       
 10640 +		# The source root directory is SRCROOT if set in the environment	
       
 10641 +		# Set TO_ROOT to SRCROOT in case SBS_BUILD_DIR is on a different drive
       
 10642 +		if 'SRCROOT' in os.environ:
       
 10643 +			self.__StandardVariables['TO_ROOT'] = str(generic_path.Path(os.environ['SRCROOT']))
       
 10644 +		else:
       
 10645  		self.__StandardVariables['TO_ROOT'] = ""
       
 10646  		# Top-level bld.inf location
       
 10647  		self.__StandardVariables['TO_BLDINF'] = biloc
       
 10648 @@ -878,8 +904,8 @@
  9707  class BldInfFile(MetaDataFile):
 10649  class BldInfFile(MetaDataFile):
  9708  	"""Representation of a Symbian bld.inf file"""
 10650  	"""Representation of a Symbian bld.inf file"""
  9709  
 10651  
  9710 -	def __init__(self, aFilename, gnucpp, log=None):
 10652 -	def __init__(self, aFilename, gnucpp, log=None):
  9711 -		MetaDataFile.__init__(self, aFilename, gnucpp, None, log)
 10653 -		MetaDataFile.__init__(self, aFilename, gnucpp, None, log)
  9712 +	def __init__(self, aFilename, gnucpp, depfiles, log=None):
 10654 +	def __init__(self, aFilename, gnucpp, depfiles, log=None):
  9713 +		MetaDataFile.__init__(self, aFilename, gnucpp, depfiles, None, log)
 10655 +		MetaDataFile.__init__(self, aFilename, gnucpp, depfiles, None, log)
  9714  		self.__Raptor = log
 10656  		self.__Raptor = log
  9715  		self.testManual = 0
 10657  		self.testManual = 0
  9716  		self.testAuto = 0
 10658  		self.testAuto = 0
  9717 @@ -1194,7 +1212,9 @@
 10659 @@ -1053,6 +1079,9 @@
       
 10660  			if (re.search(r'^\s*START ',extensionLine, re.I)):
       
 10661  				start = extensionLine
       
 10662  			elif re.search(r'^\s*END\s*$',extensionLine, re.I):
       
 10663 +				if start == "":
       
 10664 +					self.log.Error("unmatched END statement in %s section", aType, bldinf=str(self.filename))
       
 10665 +				else:
       
 10666  				extensionObjects.append(Extension(self.filename, start, options, aBuildPlatform, self.__Raptor))
       
 10667  				start = ""
       
 10668  				options = []
       
 10669 @@ -1194,7 +1223,9 @@
  9718  		super(MMPRaptorBackend,self).__init__()
 10670  		super(MMPRaptorBackend,self).__init__()
  9719  		self.platformblock = None
 10671  		self.platformblock = None
  9720  		self.__Raptor = aRaptor
 10672  		self.__Raptor = aRaptor
  9721 -		self.BuildVariant = raptor_data.Variant()
 10673 -		self.BuildVariant = raptor_data.Variant()
  9722 +		self.__debug("-----+++++ %s " % aMmpfilename)
 10674 +		self.__debug("-----+++++ %s " % aMmpfilename)
  9723 +		self.BuildVariant = raptor_data.Variant(name = "mmp")
 10675 +		self.BuildVariant = raptor_data.Variant(name = "mmp")
  9724 +		self.ApplyVariants = []
 10676 +		self.ApplyVariants = []
  9725  		self.ResourceVariants = []
 10677  		self.ResourceVariants = []
  9726  		self.BitmapVariants = []
 10678  		self.BitmapVariants = []
  9727  		self.StringTableVariants = []
 10679  		self.StringTableVariants = []
  9728 @@ -1208,11 +1228,12 @@
 10680 @@ -1208,11 +1239,12 @@
  9729  		self.__systeminclude = ""
 10681  		self.__systeminclude = ""
  9730  		self.__bitmapSourcepath = self.__sourcepath
 10682  		self.__bitmapSourcepath = self.__sourcepath
  9731  		self.__current_resource = ""
 10683  		self.__current_resource = ""
  9732 -		self.__capabilities = []
 10684 -		self.__capabilities = []
  9733  		self.__resourceFiles = []
 10685  		self.__resourceFiles = []
  9737  		self.sources = []
 10689  		self.sources = []
  9738 +		self.capabilities = []
 10690 +		self.capabilities = []
  9739  
 10691  
  9740  		self.__TARGET = ""
 10692  		self.__TARGET = ""
  9741  		self.__TARGETEXT = ""
 10693  		self.__TARGETEXT = ""
  9742 @@ -1283,16 +1304,15 @@
 10694 @@ -1283,16 +1315,15 @@
  9743  		elif varname == 'PAGED':
 10695  		elif varname == 'PAGED':
  9744  			self.BuildVariant.AddOperation(raptor_data.Set(varname, "1"))
 10696  			self.BuildVariant.AddOperation(raptor_data.Set(varname, "1"))
  9745  			self.__debug( "Set switch PAGE ON")
 10697  			self.__debug( "Set switch PAGE ON")
  9746 +			# PAGED is equivalent to PAGEDCODE
 10698 +			# PAGED is equivalent to PAGEDCODE
  9747  			self.BuildVariant.AddOperation(raptor_data.Set("PAGEDCODE_OPTION", "paged"))
 10699  			self.BuildVariant.AddOperation(raptor_data.Set("PAGEDCODE_OPTION", "paged"))
  9756  			self.__debug( "Set switch PAGED OFF")
 10708  			self.__debug( "Set switch PAGED OFF")
  9757 +			# UNPAGED is equivalent to UNPAGEDCODE *and* UNPAGEDDATA
 10709 +			# UNPAGED is equivalent to UNPAGEDCODE *and* UNPAGEDDATA
  9758  			self.BuildVariant.AddOperation(raptor_data.Set("PAGEDCODE_OPTION", "unpaged"))
 10710  			self.BuildVariant.AddOperation(raptor_data.Set("PAGEDCODE_OPTION", "unpaged"))
  9759  			self.__debug( "Set switch PAGEDCODE OFF")
 10711  			self.__debug( "Set switch PAGEDCODE OFF")
  9760  			self.BuildVariant.AddOperation(raptor_data.Set("PAGEDDATA_OPTION", "unpaged"))
 10712  			self.BuildVariant.AddOperation(raptor_data.Set("PAGEDDATA_OPTION", "unpaged"))
  9761 @@ -1314,6 +1334,7 @@
 10713 @@ -1314,6 +1345,7 @@
  9762  			self.BuildVariant.AddOperation(raptor_data.Set("PAGEDCODE_OPTION", "unpaged"))
 10714  			self.BuildVariant.AddOperation(raptor_data.Set("PAGEDCODE_OPTION", "unpaged"))
  9763  			self.__debug( "Set switch " + varname + " ON")
 10715  			self.__debug( "Set switch " + varname + " ON")
  9764  			self.__pageConflict.append(varname)
 10716  			self.__pageConflict.append(varname)
  9765 +			
 10717 +			
  9766  		elif varname == 'UNPAGEDDATA':
 10718  		elif varname == 'UNPAGEDDATA':
  9767  			self.BuildVariant.AddOperation(raptor_data.Set("PAGEDDATA_OPTION", "unpaged"))
 10719  			self.BuildVariant.AddOperation(raptor_data.Set("PAGEDDATA_OPTION", "unpaged"))
  9768  			self.__debug( "Set switch " + varname + " ON")
 10720  			self.__debug( "Set switch " + varname + " ON")
  9769 @@ -1322,6 +1343,7 @@
 10721 @@ -1322,6 +1354,7 @@
  9770  		elif varname == 'NOLINKTIMECODEGENERATION':
 10722  		elif varname == 'NOLINKTIMECODEGENERATION':
  9771  			self.BuildVariant.AddOperation(raptor_data.Set("LTCG",""))
 10723  			self.BuildVariant.AddOperation(raptor_data.Set("LTCG",""))
  9772  			self.__debug( "Set switch " + varname + " OFF")
 10724  			self.__debug( "Set switch " + varname + " OFF")
  9773 +			
 10725 +			
  9774  		elif varname == 'NOMULTIFILECOMPILATION':
 10726  		elif varname == 'NOMULTIFILECOMPILATION':
  9775  			self.BuildVariant.AddOperation(raptor_data.Set("MULTIFILE_ENABLED",""))
 10727  			self.BuildVariant.AddOperation(raptor_data.Set("MULTIFILE_ENABLED",""))
  9776  			self.__debug( "Set switch " + varname + " OFF")
 10728  			self.__debug( "Set switch " + varname + " OFF")
  9777 @@ -1331,13 +1353,19 @@
 10729 @@ -1331,13 +1364,19 @@
  9778  				self.__debuggable = "udeb urel"
 10730  				self.__debuggable = "udeb urel"
  9779  			else:
 10731  			else:
  9780  				self.__Raptor.Warn("DEBUGGABLE keyword ignored as DEBUGGABLE_UDEBONLY is already specified")
 10732  				self.__Raptor.Warn("DEBUGGABLE keyword ignored as DEBUGGABLE_UDEBONLY is already specified")
  9781 +		
 10733 +		
  9782  		elif varname == 'DEBUGGABLE_UDEBONLY':
 10734  		elif varname == 'DEBUGGABLE_UDEBONLY':
  9792 +			self.resolveCompressionKeyword(varname)
 10744 +			self.resolveCompressionKeyword(varname)
  9793 +		
 10745 +		
  9794  		else:
 10746  		else:
  9795  			self.__debug( "Set switch "+toks[0]+" ON")
 10747  			self.__debug( "Set switch "+toks[0]+" ON")
  9796  			self.BuildVariant.AddOperation(raptor_data.Set(prefix+varname, "1"))
 10748  			self.BuildVariant.AddOperation(raptor_data.Set(prefix+varname, "1"))
  9797 @@ -1423,9 +1451,12 @@
 10749 @@ -1423,9 +1462,12 @@
  9798  
 10750  
  9799  		elif varname=='CAPABILITY':
 10751  		elif varname=='CAPABILITY':
  9800  			for cap in toks[1]:
 10752  			for cap in toks[1]:
  9801 -				self.BuildVariant.AddOperation(raptor_data.Append(varname,cap," "))
 10753 -				self.BuildVariant.AddOperation(raptor_data.Append(varname,cap," "))
  9802 +				cap = cap.lower()
 10754 +				cap = cap.lower()
  9807 +						cap = "+" + cap	
 10759 +						cap = "+" + cap	
  9808 +				self.capabilities.append(cap)
 10760 +				self.capabilities.append(cap)
  9809  		elif varname=='DEFFILE':
 10761  		elif varname=='DEFFILE':
  9810  			self.__defFileRoot = self.__currentMmpFile
 10762  			self.__defFileRoot = self.__currentMmpFile
  9811  			self.deffile = toks[1]
 10763  			self.deffile = toks[1]
  9812 @@ -1450,8 +1481,10 @@
 10764 @@ -1450,14 +1492,16 @@
  9813  
 10765  
  9814  				# add in the minor number
 10766  				# add in the minor number
  9815  				minor = 0
 10767  				minor = 0
  9816 -				if len(version) >  1:
 10768 -				if len(version) >  1:
  9817 +				if version[1] is not None:
 10769 +				if version[1] is not None:
  9819 +				else:
 10771 +				else:
  9820 +					self.__Raptor.Warn("VERSION (%s) missing '.minor' in %s, using '.0'" % (toks[1],self.__currentMmpFile))
 10772 +					self.__Raptor.Warn("VERSION (%s) missing '.minor' in %s, using '.0'" % (toks[1],self.__currentMmpFile))
  9821  
 10773  
  9822  				self.__versionhex = "%04x%04x" % (major, minor)
 10774  				self.__versionhex = "%04x%04x" % (major, minor)
  9823  				self.BuildVariant.AddOperation(raptor_data.Set(varname, "%d.%d" %(major, minor)))
 10775  				self.BuildVariant.AddOperation(raptor_data.Set(varname, "%d.%d" %(major, minor)))
  9824 @@ -1517,7 +1550,8 @@
 10776 -				self.BuildVariant.AddOperation(raptor_data.Set(varname+"HEX", self.__versionhex))
       
 10777 +				self.BuildVariant.AddOperation(raptor_data.Set("VERSIONHEX", self.__versionhex))
       
 10778  				self.__debug("Set "+toks[0]+"  OPTION to " + toks[1])
       
 10779 -				self.__debug("Set "+toks[0]+"HEX OPTION to " + "%04x%04x" % (major,minor))
       
 10780 +				self.__debug("Set VERSIONHEX OPTION to " + self.__versionhex)
       
 10781  
       
 10782  			else:
       
 10783  				self.__Raptor.Warn("Invalid version supplied to VERSION (%s), using default value" % toks[1])
       
 10784 @@ -1517,7 +1561,8 @@
  9825  					toks1 = re.sub("[,'\[\]]", "", toks1).replace("//","/")
 10785  					toks1 = re.sub("[,'\[\]]", "", toks1).replace("//","/")
  9826  				self.__debug("Set "+toks[0]+" to " + toks1)
 10786  				self.__debug("Set "+toks[0]+" to " + toks1)
  9827  				self.BuildVariant.AddOperation(raptor_data.Set(varname,toks1))
 10787  				self.BuildVariant.AddOperation(raptor_data.Set(varname,toks1))
  9828 -
 10788 -
  9829 +		elif varname=='APPLY':
 10789 +		elif varname=='APPLY':
  9830 +			self.ApplyVariants.append(toks[1])
 10790 +			self.ApplyVariants.append(toks[1])
  9831  		else:
 10791  		else:
  9832  			self.__debug("Set "+toks[0]+" to " + str(toks[1]))
 10792  			self.__debug("Set "+toks[0]+" to " + str(toks[1]))
  9833  			self.BuildVariant.AddOperation(raptor_data.Set(varname,"".join(toks[1])))
 10793  			self.BuildVariant.AddOperation(raptor_data.Set(varname,"".join(toks[1])))
  9834 @@ -1687,7 +1721,7 @@
 10794 @@ -1687,7 +1732,7 @@
  9835  	def getDefaultResourceTargetPath(self, targettype):
 10795  	def getDefaultResourceTargetPath(self, targettype):
  9836  		# the different default TARGETPATH values should come from the
 10796  		# the different default TARGETPATH values should come from the
  9837  		# configuration rather than being hard-coded here.
 10797  		# configuration rather than being hard-coded here.
  9838 -		if targettype == "plugin":
 10798 -		if targettype == "plugin":
  9839 +		if targettype in ["plugin", "plugin3"]:
 10799 +		if targettype in ["plugin", "plugin3"]:
  9840  			return "resource/plugins"
 10800  			return "resource/plugins"
  9841  		if targettype == "pdl":
 10801  		if targettype == "pdl":
  9842  			return "resource/printers"
 10802  			return "resource/printers"
  9843 @@ -1884,7 +1918,7 @@
 10803 @@ -1884,7 +1929,7 @@
  9844  		self.__currentLineNumber += 1
 10804  		self.__currentLineNumber += 1
  9845  		self.__debug("Start BITMAP "+toks[1])
 10805  		self.__debug("Start BITMAP "+toks[1])
  9846  
 10806  
  9847 -		self.__currentBitmapVariant = raptor_data.Variant(toks[1].replace('.','_'))
 10807 -		self.__currentBitmapVariant = raptor_data.Variant(toks[1].replace('.','_'))
  9848 +		self.__currentBitmapVariant = raptor_data.Variant(name = toks[1].replace('.','_'))
 10808 +		self.__currentBitmapVariant = raptor_data.Variant(name = toks[1].replace('.','_'))
  9849  		# Use BMTARGET and BMTARGET_lower because that prevents
 10809  		# Use BMTARGET and BMTARGET_lower because that prevents
  9850  		# confusion with the TARGET and TARGET_lower of our parent MMP
 10810  		# confusion with the TARGET and TARGET_lower of our parent MMP
  9851  		# when setting the OUTPUTPATH.  This in turn allows us to
 10811  		# when setting the OUTPUTPATH.  This in turn allows us to
  9852 @@ -1974,7 +2008,7 @@
 10812 @@ -1974,7 +2019,7 @@
  9853  		self.__debug("stringtable: " + toks[1])
 10813  		self.__debug("stringtable: " + toks[1])
  9854  		self.__debug("adjusted stringtable source=" + source)
 10814  		self.__debug("adjusted stringtable source=" + source)
  9855  
 10815  
  9856 -		self.__currentStringTableVariant = raptor_data.Variant(uniqname)
 10816 -		self.__currentStringTableVariant = raptor_data.Variant(uniqname)
  9857 +		self.__currentStringTableVariant = raptor_data.Variant(name = uniqname)
 10817 +		self.__currentStringTableVariant = raptor_data.Variant(name = uniqname)
  9858  		self.__currentStringTableVariant.AddOperation(raptor_data.Set("SOURCE", source))
 10818  		self.__currentStringTableVariant.AddOperation(raptor_data.Set("SOURCE", source))
  9859  		self.__currentStringTableVariant.AddOperation(raptor_data.Set("EXPORTPATH", ""))
 10819  		self.__currentStringTableVariant.AddOperation(raptor_data.Set("EXPORTPATH", ""))
  9860  		self.__stringtableExported = False
 10820  		self.__stringtableExported = False
  9861 @@ -2142,6 +2176,9 @@
 10821 @@ -2142,6 +2187,9 @@
  9862  		self.BuildVariant.AddOperation(raptor_data.Set("DEFFILEKEYWORD", deffile_keyword))
 10822  		self.BuildVariant.AddOperation(raptor_data.Set("DEFFILEKEYWORD", deffile_keyword))
  9863  		self.__debug("Set DEFFILEKEYWORD to '%s'",deffile_keyword)
 10823  		self.__debug("Set DEFFILEKEYWORD to '%s'",deffile_keyword)
  9864  
 10824  
  9865 +		# If target type is "implib" it must have a def file
 10825 +		# If target type is "implib" it must have a def file
  9866 +		self.checkImplibDefFile(resolvedDefFile)
 10826 +		self.checkImplibDefFile(resolvedDefFile)
  9867 +
 10827 +
  9868  		# if this target type has a default TARGETPATH other than "" for
 10828  		# if this target type has a default TARGETPATH other than "" for
  9869  		# resources then we need to add that default to all resources which
 10829  		# resources then we need to add that default to all resources which
  9870  		# do not explicitly set the TARGETPATH themselves.
 10830  		# do not explicitly set the TARGETPATH themselves.
  9871 @@ -2167,16 +2204,20 @@
 10831 @@ -2167,16 +2215,20 @@
  9872  			self.ResourceVariants[i].AddOperation(raptor_data.Set("MAIN_TARGET_lower", self.__TARGET.lower()))
 10832  			self.ResourceVariants[i].AddOperation(raptor_data.Set("MAIN_TARGET_lower", self.__TARGET.lower()))
  9873  			self.ResourceVariants[i].AddOperation(raptor_data.Set("MAIN_REQUESTEDTARGETEXT", self.__TARGETEXT.lower()))
 10833  			self.ResourceVariants[i].AddOperation(raptor_data.Set("MAIN_REQUESTEDTARGETEXT", self.__TARGETEXT.lower()))
  9874  
 10834  
  9875 +		# Create Capability variable in one SET operation (more efficient than multiple appends)
 10835 +		# Create Capability variable in one SET operation (more efficient than multiple appends)
  9876 +		
 10836 +		
  9889 -				capability = capability.lstrip('-')
 10849 -				capability = capability.lstrip('-')
  9890 +			capability = capability[1:]
 10850 +			capability = capability[1:]
  9891  
 10851  
  9892  			if MMPRaptorBackend.supportedCapabilities.has_key(capability):
 10852  			if MMPRaptorBackend.supportedCapabilities.has_key(capability):
  9893  				capabilityFlag1 = capabilityFlag1 ^ invert
 10853  				capabilityFlag1 = capabilityFlag1 ^ invert
  9894 @@ -2205,12 +2246,21 @@
 10854 @@ -2205,12 +2257,21 @@
  9895  			for x in self.__pageConflict:
 10855  			for x in self.__pageConflict:
  9896  				if x == "PAGEDCODE" or x == "UNPAGEDCODE":
 10856  				if x == "PAGEDCODE" or x == "UNPAGEDCODE":
  9897  					self.__Raptor.Warn("Both PAGEDCODE and UNPAGEDCODE are specified. The last one %s will take effect" % x)
 10857  					self.__Raptor.Warn("Both PAGEDCODE and UNPAGEDCODE are specified. The last one %s will take effect" % x)
  9898 +					if x == "PAGEDCODE":
 10858 +					if x == "PAGEDCODE":
  9899 +						self.resolveCompressionKeyword("BYTEPAIRCOMPRESSTARGET")
 10859 +						self.resolveCompressionKeyword("BYTEPAIRCOMPRESSTARGET")
  9911 +		elif "PAGEDDATA" in self.__pageConflict:
 10871 +		elif "PAGEDDATA" in self.__pageConflict:
  9912 +			self.resolveCompressionKeyword("BYTEPAIRCOMPRESSTARGET")
 10872 +			self.resolveCompressionKeyword("BYTEPAIRCOMPRESSTARGET")
  9913  
 10873  
  9914  		# Set Debuggable
 10874  		# Set Debuggable
  9915  		self.BuildVariant.AddOperation(raptor_data.Set("DEBUGGABLE", self.__debuggable))
 10875  		self.BuildVariant.AddOperation(raptor_data.Set("DEBUGGABLE", self.__debuggable))
  9916 @@ -2229,6 +2279,27 @@
 10876 @@ -2229,6 +2290,27 @@
  9917  		"""Target type in lower case - the standard format"""
 10877  		"""Target type in lower case - the standard format"""
  9918  		return self.__targettype.lower()
 10878  		return self.__targettype.lower()
  9919  
 10879  
  9920 +	def resolveCompressionKeyword(self, aCompressionKeyword):
 10880 +	def resolveCompressionKeyword(self, aCompressionKeyword):
  9921 +		"""If a compression keyword is set more than once either explicitly
 10881 +		"""If a compression keyword is set more than once either explicitly
  9939 +							self.__currentMmpFile, bldinf=self.__bldInfFilename)
 10899 +							self.__currentMmpFile, bldinf=self.__bldInfFilename)
  9940 +
 10900 +
  9941  	def resolveDefFile(self, aTARGET, aBuildPlatform):
 10901  	def resolveDefFile(self, aTARGET, aBuildPlatform):
  9942  		"""Returns a fully resolved DEFFILE entry depending on .mmp file location and TARGET, DEFFILE and NOSTRICTDEF
 10902  		"""Returns a fully resolved DEFFILE entry depending on .mmp file location and TARGET, DEFFILE and NOSTRICTDEF
  9943  		entries in the .mmp file itself (where appropriate).
 10903  		entries in the .mmp file itself (where appropriate).
  9944 @@ -2283,6 +2354,32 @@
 10904 @@ -2283,6 +2365,32 @@
  9945  		return resolvedDefFile
 10905  		return resolvedDefFile
  9946  
 10906  
  9947  
 10907  
  9948 +def CheckedGet(self, key, default = None):
 10908 +def CheckedGet(self, key, default = None):
  9949 +	"""extract a value from an self and raise an exception if None.
 10909 +	"""extract a value from an self and raise an exception if None.
  9972 +
 10932 +
  9973 +
 10933 +
  9974  class MetaReader(object):
 10934  class MetaReader(object):
  9975  	"""Entry point class for Symbian metadata processing.
 10935  	"""Entry point class for Symbian metadata processing.
  9976  
 10936  
  9977 @@ -2299,10 +2396,10 @@
 10937 @@ -2299,10 +2407,10 @@
  9978  		# Get the version of CPP that we are using
 10938  		# Get the version of CPP that we are using
  9979  		metadata = self.__Raptor.cache.FindNamedVariant("meta")
 10939  		metadata = self.__Raptor.cache.FindNamedVariant("meta")
  9980  		evaluator = self.__Raptor.GetEvaluator(None, raptor_data.BuildUnit(metadata.name, [metadata]) )
 10940  		evaluator = self.__Raptor.GetEvaluator(None, raptor_data.BuildUnit(metadata.name, [metadata]) )
  9981 -		self.__gnucpp = self.CheckValue(evaluator, "GNUCPP")
 10941 -		self.__gnucpp = self.CheckValue(evaluator, "GNUCPP")
  9982 -		self.__defaultplatforms = self.CheckValue(evaluator, "DEFAULT_PLATFORMS")
 10942 -		self.__defaultplatforms = self.CheckValue(evaluator, "DEFAULT_PLATFORMS")
  9987 +		self.__basedefaultplatforms = evaluator.CheckedGet("BASE_DEFAULT_PLATFORMS")
 10947 +		self.__basedefaultplatforms = evaluator.CheckedGet("BASE_DEFAULT_PLATFORMS")
  9988 +		self.__baseuserdefaultplatforms = evaluator.CheckedGet("BASE_USER_DEFAULT_PLATFORMS")
 10948 +		self.__baseuserdefaultplatforms = evaluator.CheckedGet("BASE_USER_DEFAULT_PLATFORMS")
  9989  
 10949  
  9990  		# Only read each variant.cfg once
 10950  		# Only read each variant.cfg once
  9991  		variantCfgs = {}
 10951  		variantCfgs = {}
  9992 @@ -2321,24 +2418,35 @@
 10952 @@ -2321,24 +2429,35 @@
  9993  		# with the same "export platform".
 10953  		# with the same "export platform".
  9994  		exports = {}
 10954  		exports = {}
  9995  
 10955  
  9996 -		for buildConfig in configsToBuild:
 10956 -		for buildConfig in configsToBuild:
  9997 +		# We sort configurations by name here.  This is solely to deal with situations
 10957 +		# We sort configurations by name here.  This is solely to deal with situations
 10030 -				detail['PLATMACROS'] = self.CheckValue(evaluator,"PLATMACROS.LINUX")
 10990 -				detail['PLATMACROS'] = self.CheckValue(evaluator,"PLATMACROS.LINUX")
 10031 +				detail['PLATMACROS'] = evaluator.CheckedGet("PLATMACROS.LINUX")
 10991 +				detail['PLATMACROS'] = evaluator.CheckedGet("PLATMACROS.LINUX")
 10032  
 10992  
 10033  			# Apply OS variant provided we are not ignoring this
 10993  			# Apply OS variant provided we are not ignoring this
 10034  			if not self.__Raptor.ignoreOsDetection:
 10994  			if not self.__Raptor.ignoreOsDetection:
 10035 @@ -2350,11 +2458,11 @@
 10995 @@ -2350,11 +2469,11 @@
 10036  			# is this a feature variant config or an ordinary variant
 10996  			# is this a feature variant config or an ordinary variant
 10037  			fv = evaluator.Get("FEATUREVARIANTNAME")
 10997  			fv = evaluator.Get("FEATUREVARIANTNAME")
 10038  			if fv:
 10998  			if fv:
 10039 -				variantHdr = self.CheckValue(evaluator, "VARIANT_HRH")
 10999 -				variantHdr = self.CheckValue(evaluator, "VARIANT_HRH")
 10040 +				variantHdr = evaluator.CheckedGet("VARIANT_HRH")
 11000 +				variantHdr = evaluator.CheckedGet("VARIANT_HRH")
 10044 -				variantCfg = self.CheckValue(evaluator, "VARIANT_CFG")
 11004 -				variantCfg = self.CheckValue(evaluator, "VARIANT_CFG")
 10045 +				variantCfg = evaluator.CheckedGet("VARIANT_CFG")
 11005 +				variantCfg = evaluator.CheckedGet("VARIANT_CFG")
 10046  				variantCfg = generic_path.Path(variantCfg)
 11006  				variantCfg = generic_path.Path(variantCfg)
 10047  				if not variantCfg in variantCfgs:
 11007  				if not variantCfg in variantCfgs:
 10048  					# get VARIANT_HRH from the variant.cfg file
 11008  					# get VARIANT_HRH from the variant.cfg file
 10049 @@ -2369,19 +2477,18 @@
 11009 @@ -2369,19 +2488,18 @@
 10050  
 11010  
 10051  			detail['VARIANT_HRH'] = variantHRH
 11011  			detail['VARIANT_HRH'] = variantHRH
 10052  			self.__Raptor.Info("'%s' uses variant hrh file '%s'", buildConfig.name, variantHRH)
 11012  			self.__Raptor.Info("'%s' uses variant hrh file '%s'", buildConfig.name, variantHRH)
 10053 -			detail['SYSTEMINCLUDE'] = self.CheckValue(evaluator, "SYSTEMINCLUDE")
 11013 -			detail['SYSTEMINCLUDE'] = self.CheckValue(evaluator, "SYSTEMINCLUDE")
 10054 +			detail['SYSTEMINCLUDE'] = evaluator.CheckedGet("SYSTEMINCLUDE")
 11014 +			detail['SYSTEMINCLUDE'] = evaluator.CheckedGet("SYSTEMINCLUDE")
 10068 -			detail['TESTCODE'] = self.CheckValue(evaluator, "TESTCODE", "")
 11028 -			detail['TESTCODE'] = self.CheckValue(evaluator, "TESTCODE", "")
 10069 +			detail['TESTCODE'] = evaluator.CheckedGet("TESTCODE", "")
 11029 +			detail['TESTCODE'] = evaluator.CheckedGet("TESTCODE", "")
 10070  
 11030  
 10071  			# make a key that identifies this platform uniquely
 11031  			# make a key that identifies this platform uniquely
 10072  			# - used to tell us whether we have done the pre-processing
 11032  			# - used to tell us whether we have done the pre-processing
 10073 @@ -2390,7 +2497,8 @@
 11033 @@ -2390,7 +2508,8 @@
 10074  			key = str(detail['VARIANT_HRH']) \
 11034  			key = str(detail['VARIANT_HRH']) \
 10075  			 	+ str(detail['EPOCROOT']) \
 11035  			 	+ str(detail['EPOCROOT']) \
 10076  		    	+ detail['SYSTEMINCLUDE'] \
 11036  		    	+ detail['SYSTEMINCLUDE'] \
 10077 -		    	+ detail['PLATFORM']
 11037 -		    	+ detail['PLATFORM']
 10078 +		    	+ detail['PLATFORM'] \
 11038 +		    	+ detail['PLATFORM'] \
 10079 +		    	+ detail['PLATMACROS']
 11039 +		    	+ detail['PLATMACROS']
 10080  
 11040  
 10081  		    # Keep a short version of the key for use in filenames.
 11041  		    # Keep a short version of the key for use in filenames.
 10082  			uniq = hashlib.md5()
 11042  			uniq = hashlib.md5()
 10083 @@ -2426,11 +2534,7 @@
 11043 @@ -2426,11 +2545,7 @@
 10084  			# Is this an unseen build platform?
 11044  			# Is this an unseen build platform?
 10085  			# concatenate all the values we care about in a fixed order
 11045  			# concatenate all the values we care about in a fixed order
 10086  			# and use that as a signature for the platform.
 11046  			# and use that as a signature for the platform.
 10087 -			items = ['PLATFORM', 'EPOCROOT', 'VARIANT_HRH', 'SYSTEMINCLUDE', 'TESTCODE']
 11047 -			items = ['PLATFORM', 'EPOCROOT', 'VARIANT_HRH', 'SYSTEMINCLUDE', 'TESTCODE']
 10088 -			if raptor_utilities.getOSPlatform().startswith("win"):
 11048 -			if raptor_utilities.getOSPlatform().startswith("win"):
 10091 -				items.append('PLATMACROS.LINUX')
 11051 -				items.append('PLATMACROS.LINUX')
 10092 +			items = ['PLATFORM', 'PLATMACROS', 'EPOCROOT', 'VARIANT_HRH', 'SYSTEMINCLUDE', 'TESTCODE']
 11052 +			items = ['PLATFORM', 'PLATMACROS', 'EPOCROOT', 'VARIANT_HRH', 'SYSTEMINCLUDE', 'TESTCODE']
 10093  
 11053  
 10094  			items.extend(interfaces)
 11054  			items.extend(interfaces)
 10095  			platform = ""
 11055  			platform = ""
 10096 @@ -2452,20 +2556,8 @@
 11056 @@ -2452,20 +2567,8 @@
 10097  		# that are supposedly platform independent (e.g. PRJ_PLATFORMS)
 11057  		# that are supposedly platform independent (e.g. PRJ_PLATFORMS)
 10098  		self.defaultPlatform = self.ExportPlatforms[0]
 11058  		self.defaultPlatform = self.ExportPlatforms[0]
 10099  
 11059  
 10100 -	def CheckValue(self, evaluator, key, default = None):
 11060 -	def CheckValue(self, evaluator, key, default = None):
 10101 -		"""extract a value from an evaluator and raise an exception if None.
 11061 -		"""extract a value from an evaluator and raise an exception if None.
 10113 -	def ReadBldInfFiles(self, aFileList, doExportOnly):
 11073 -	def ReadBldInfFiles(self, aFileList, doExportOnly):
 10114 +	def ReadBldInfFiles(self, aComponentList, doexport, dobuild = True):
 11074 +	def ReadBldInfFiles(self, aComponentList, doexport, dobuild = True):
 10115  		"""Take a list of bld.inf files and return a list of build specs.
 11075  		"""Take a list of bld.inf files and return a list of build specs.
 10116  
 11076  
 10117  		The returned specification nodes will be suitable for all the build
 11077  		The returned specification nodes will be suitable for all the build
 10118 @@ -2475,7 +2567,7 @@
 11078 @@ -2475,7 +2578,7 @@
 10119  		# we need a Filter node per export platform
 11079  		# we need a Filter node per export platform
 10120  		exportNodes = []
 11080  		exportNodes = []
 10121  		for i,ep in enumerate(self.ExportPlatforms):
 11081  		for i,ep in enumerate(self.ExportPlatforms):
 10122 -			filter = raptor_data.Filter("export_" + str(i))
 11082 -			filter = raptor_data.Filter("export_" + str(i))
 10123 +			filter = raptor_data.Filter(name = "export_" + str(i))
 11083 +			filter = raptor_data.Filter(name = "export_" + str(i))
 10124  
 11084  
 10125  			# what configurations is this node active for?
 11085  			# what configurations is this node active for?
 10126  			for config in ep['configs']:
 11086  			for config in ep['configs']:
 10127 @@ -2486,7 +2578,7 @@
 11087 @@ -2486,7 +2589,7 @@
 10128  		# we need a Filter node per build platform
 11088  		# we need a Filter node per build platform
 10129  		platformNodes = []
 11089  		platformNodes = []
 10130  		for i,bp in enumerate(self.BuildPlatforms):
 11090  		for i,bp in enumerate(self.BuildPlatforms):
 10131 -			filter = raptor_data.Filter("build_" + str(i))
 11091 -			filter = raptor_data.Filter("build_" + str(i))
 10132 +			filter = raptor_data.Filter(name = "build_" + str(i))
 11092 +			filter = raptor_data.Filter(name = "build_" + str(i))
 10133  
 11093  
 10134  			# what configurations is this node active for?
 11094  			# what configurations is this node active for?
 10135  			for config in bp['configs']:
 11095  			for config in bp['configs']:
 10136 @@ -2502,18 +2594,18 @@
 11096 @@ -2502,18 +2605,18 @@
 10137  
 11097  
 10138  		# check that each bld.inf exists and add a Specification node for it
 11098  		# check that each bld.inf exists and add a Specification node for it
 10139  		# to the nodes of the export and build platforms that it supports.
 11099  		# to the nodes of the export and build platforms that it supports.
 10140 -		for bif in aFileList:
 11100 -		for bif in aFileList:
 10141 -			if bif.isFile():
 11101 -			if bif.isFile():
 10156 -				self.__Raptor.Error("build info file does not exist", bldinf=str(bif))
 11116 -				self.__Raptor.Error("build info file does not exist", bldinf=str(bif))
 10157 +				self.__Raptor.Error("build info file does not exist", bldinf=str(c.bldinf_filename))
 11117 +				self.__Raptor.Error("build info file does not exist", bldinf=str(c.bldinf_filename))
 10158  				if not self.__Raptor.keepGoing:
 11118  				if not self.__Raptor.keepGoing:
 10159  					return []
 11119  					return []
 10160  
 11120  
 10161 @@ -2545,6 +2637,7 @@
 11121 @@ -2545,6 +2648,7 @@
 10162  		# before we can do anything else (because raptor itself must do
 11122  		# before we can do anything else (because raptor itself must do
 10163  		# some exports before the MMP files that include them can be
 11123  		# some exports before the MMP files that include them can be
 10164  		# processed).
 11124  		# processed).
 10165 +		if doexport:
 11125 +		if doexport:
 10166  		for i,p in enumerate(exportNodes):
 11126  		for i,p in enumerate(exportNodes):
 10167  			exportPlatform = self.ExportPlatforms[i]
 11127  			exportPlatform = self.ExportPlatforms[i]
 10168  			for s in p.GetChildSpecs():
 11128  			for s in p.GetChildSpecs():
 10169 @@ -2555,10 +2648,12 @@
 11129 @@ -2555,10 +2659,12 @@
 10170  					self.__Raptor.Error("%s",e.Text)
 11130  					self.__Raptor.Error("%s",e.Text)
 10171  					if not self.__Raptor.keepGoing:
 11131  					if not self.__Raptor.keepGoing:
 10172  						return []
 11132  						return []
 10173 +		else:
 11133 +		else:
 10174 +			self.__Raptor.Info("Not Processing Exports (--noexport enabled)")
 11134 +			self.__Raptor.Info("Not Processing Exports (--noexport enabled)")
 10178 -		if (self.__Raptor.doExportOnly):
 11138 -		if (self.__Raptor.doExportOnly):
 10179 +		if dobuild is not True:
 11139 +		if dobuild is not True:
 10180  			self.__Raptor.Info("Processing Exports only")
 11140  			self.__Raptor.Info("Processing Exports only")
 10181  			return[]
 11141  			return[]
 10182  
 11142  
 10183 @@ -2601,8 +2696,8 @@
 11143 @@ -2601,8 +2707,8 @@
 10184  
 11144  
 10185  		def LeftPortionOf(pth,sep):
 11145  		def LeftPortionOf(pth,sep):
 10186  			""" Internal function to return portion of str that is to the left of sep. 
 11146  			""" Internal function to return portion of str that is to the left of sep. 
 10187 -			The partition is case-insentive."""
 11147 -			The partition is case-insentive."""
 10188 -			length = len((pth.lower().partition(sep.lower()))[0])
 11148 -			length = len((pth.lower().partition(sep.lower()))[0])
 10189 +			The split is case-insensitive."""
 11149 +			The split is case-insensitive."""
 10190 +			length = len((pth.lower().split(sep.lower()))[0])
 11150 +			length = len((pth.lower().split(sep.lower()))[0])
 10191  			return pth[0:length]
 11151  			return pth[0:length]
 10192  			
 11152  			
 10193  		modulePath = LeftPortionOf(LeftPortionOf(os.path.dirname(aBldInfPath), "group"), "ongoing")
 11153  		modulePath = LeftPortionOf(LeftPortionOf(os.path.dirname(aBldInfPath), "group"), "ongoing")
 10194 @@ -2615,37 +2710,30 @@
 11154 @@ -2615,37 +2721,30 @@
 10195  		return moduleName
 11155  		return moduleName
 10196  
 11156  
 10197  
 11157  
 10198 -	def AddComponentNodes(self, buildFile, exportNodes, platformNodes):
 11158 -	def AddComponentNodes(self, buildFile, exportNodes, platformNodes):
 10199 +	def AddComponentNodes(self, component, exportNodes, platformNodes):	
 11159 +	def AddComponentNodes(self, component, exportNodes, platformNodes):	
 10238  			exportNodes[i].AddChild(specNode)
 11198  			exportNodes[i].AddChild(specNode)
 10239 +			component.exportspecs.append(specNode)
 11199 +			component.exportspecs.append(specNode)
 10240  
 11200  
 10241  		# get the relevant build platforms
 11201  		# get the relevant build platforms
 10242  		listedPlatforms = bldInfFile.getBuildPlatforms(self.defaultPlatform)
 11202  		listedPlatforms = bldInfFile.getBuildPlatforms(self.defaultPlatform)
 10243 @@ -2655,34 +2743,36 @@
 11203 @@ -2655,34 +2754,36 @@
 10244  													self.__baseuserdefaultplatforms)
 11204  													self.__baseuserdefaultplatforms)
 10245  
 11205  
 10246  
 11206  
 10247 -
 11207 -
 10248 -		outputDir = BldInfFile.outputPathFragment(buildFile)
 11208 -		outputDir = BldInfFile.outputPathFragment(buildFile)
 10286 +				# also attach it into the component
 11246 +				# also attach it into the component
 10287 +				component.specs.append(specNode)
 11247 +				component.specs.append(specNode)
 10288  
 11248  
 10289  	def ProcessExports(self, componentNode, exportPlatform):
 11249  	def ProcessExports(self, componentNode, exportPlatform):
 10290  		"""Do the exports for a given platform and skeleton bld.inf node.
 11250  		"""Do the exports for a given platform and skeleton bld.inf node.
 10291 @@ -2694,18 +2784,18 @@
 11251 @@ -2694,18 +2795,18 @@
 10292  		[some MMP files #include exported .mmh files]
 11252  		[some MMP files #include exported .mmh files]
 10293  		"""
 11253  		"""
 10294  		if exportPlatform["TESTCODE"]:
 11254  		if exportPlatform["TESTCODE"]:
 10295 -			exports = componentNode.bldinf.getTestExports(exportPlatform)
 11255 -			exports = componentNode.bldinf.getTestExports(exportPlatform)
 10296 +			exports = componentNode.component.bldinf.getTestExports(exportPlatform)
 11256 +			exports = componentNode.component.bldinf.getTestExports(exportPlatform)
 10309 -			bldinf_filename = str(componentNode.bldinf.filename)
 11269 -			bldinf_filename = str(componentNode.bldinf.filename)
 10310 +			bldinf_filename = str(componentNode.component.bldinf.filename)
 11270 +			bldinf_filename = str(componentNode.component.bldinf.filename)
 10311  			exportwhatlog="<whatlog bldinf='%s' mmp='' config=''>\n" % bldinf_filename
 11271  			exportwhatlog="<whatlog bldinf='%s' mmp='' config=''>\n" % bldinf_filename
 10312  			for export in exports:
 11272  			for export in exports:
 10313  				expSrc = export.getSource()
 11273  				expSrc = export.getSource()
 10314 @@ -2728,11 +2818,11 @@
 11274 @@ -2728,11 +2829,11 @@
 10315  							# export the file
 11275  							# export the file
 10316  							exportwhatlog += self.CopyExport(fromFile, toFile, bldinf_filename)
 11276  							exportwhatlog += self.CopyExport(fromFile, toFile, bldinf_filename)
 10317  						else:
 11277  						else:
 10318 -							# unzip the zip
 11278 -							# unzip the zip
 10319 -							exportwhatlog += ("<archive zipfile='" + str(fromFile) + "'>\n")
 11279 -							exportwhatlog += ("<archive zipfile='" + str(fromFile) + "'>\n")
 10323 +							
 11283 +							
 10324 +							exportwhatlog += ("<archive zipfile='" + str(fromFile) + "'>\n")
 11284 +							exportwhatlog += ("<archive zipfile='" + str(fromFile) + "'>\n")
 10325  							if members != None:
 11285  							if members != None:
 10326  								exportwhatlog += members
 11286  								exportwhatlog += members
 10327  							exportwhatlog += "</archive>\n"
 11287  							exportwhatlog += "</archive>\n"
 10328 @@ -2767,8 +2857,10 @@
 11288 @@ -2767,8 +2868,10 @@
 10329  
 11289  
 10330  			sourceMTime = 0
 11290  			sourceMTime = 0
 10331  			destMTime = 0
 11291  			destMTime = 0
 10332 +			sourceStat = 0
 11292 +			sourceStat = 0
 10333  			try:
 11293  			try:
 10335 +				sourceStat = os.stat(source_str)
 11295 +				sourceStat = os.stat(source_str)
 10336 +				sourceMTime = sourceStat[stat.ST_MTIME]
 11296 +				sourceMTime = sourceStat[stat.ST_MTIME]
 10337  				destMTime = os.stat(dest_str)[stat.ST_MTIME]
 11297  				destMTime = os.stat(dest_str)[stat.ST_MTIME]
 10338  			except OSError, e:
 11298  			except OSError, e:
 10339  				if sourceMTime == 0:
 11299  				if sourceMTime == 0:
 10340 @@ -2782,6 +2874,9 @@
 11300 @@ -2782,6 +2885,9 @@
 10341  				if os.path.exists(dest_str):
 11301  				if os.path.exists(dest_str):
 10342  					os.chmod(dest_str,stat.S_IREAD | stat.S_IWRITE)
 11302  					os.chmod(dest_str,stat.S_IREAD | stat.S_IWRITE)
 10343  				shutil.copyfile(source_str, dest_str)
 11303  				shutil.copyfile(source_str, dest_str)
 10344 +
 11304 +
 10345 +				# Ensure that the destination file remains executable if the source was also:
 11305 +				# Ensure that the destination file remains executable if the source was also:
 10346 +				os.chmod(dest_str,sourceStat[stat.ST_MODE] | stat.S_IREAD | stat.S_IWRITE | stat.S_IWGRP ) 
 11306 +				os.chmod(dest_str,sourceStat[stat.ST_MODE] | stat.S_IREAD | stat.S_IWRITE | stat.S_IWGRP ) 
 10347  				self.__Raptor.Info("Copied %s to %s", source_str, dest_str)
 11307  				self.__Raptor.Info("Copied %s to %s", source_str, dest_str)
 10348  			else:
 11308  			else:
 10349  				self.__Raptor.Info("Up-to-date: %s", dest_str)
 11309  				self.__Raptor.Info("Up-to-date: %s", dest_str)
 10350 @@ -2845,7 +2940,7 @@
 11310 @@ -2845,7 +2951,7 @@
 10351  				for file in files:
 11311  				for file in files:
 10352  					if not file.endswith('/'):
 11312  					if not file.endswith('/'):
 10353  						expfilename = str(generic_path.Join(destination, file))
 11313  						expfilename = str(generic_path.Join(destination, file))
 10354 -						exportwhatlog += "<member>" + expfilename + "</member>\n"
 11314 -						exportwhatlog += "<member>" + expfilename + "</member>\n"
 10355 +						exportwhatlog += "<member>" + escape(expfilename) + "</member>\n"
 11315 +						exportwhatlog += "<member>" + escape(expfilename) + "</member>\n"
 10356  
 11316  
 10357  				self.__Raptor.PrintXML("<clean bldinf='" + bldinf_filename + "' mmp='' config=''>\n")
 11317  				self.__Raptor.PrintXML("<clean bldinf='" + bldinf_filename + "' mmp='' config=''>\n")
 10358  				self.__Raptor.PrintXML("<zipmarker>" + markerfilename + "</zipmarker>\n")
 11318  				self.__Raptor.PrintXML("<zipmarker>" + markerfilename + "</zipmarker>\n")
 10359 @@ -2876,6 +2971,11 @@
 11319 @@ -2876,6 +2982,11 @@
 10360  						expfile = open(expfilename, 'wb')
 11320  						expfile = open(expfilename, 'wb')
 10361  						expfile.write(exportzip.read(file))
 11321  						expfile.write(exportzip.read(file))
 10362  						expfile.close()
 11322  						expfile.close()
 10363 +						
 11323 +						
 10364 +						# Resurrect any file execution permissions present in the archived version
 11324 +						# Resurrect any file execution permissions present in the archived version
 10366 +							os.chmod(expfilename, stat.S_IMODE(os.stat(expfilename).st_mode) | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)						
 11326 +							os.chmod(expfilename, stat.S_IMODE(os.stat(expfilename).st_mode) | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH)						
 10367 +						
 11327 +						
 10368  						# Each file keeps its modified time the same as what it was before unzipping
 11328  						# Each file keeps its modified time the same as what it was before unzipping
 10369  						accesstime = time.time()
 11329  						accesstime = time.time()
 10370  						datetime = exportzip.getinfo(file).date_time
 11330  						datetime = exportzip.getinfo(file).date_time
 10371 @@ -2885,7 +2985,7 @@
 11331 @@ -2885,7 +2996,7 @@
 10372  						os.utime(expfilename,(accesstime, modifiedtime))
 11332  						os.utime(expfilename,(accesstime, modifiedtime))
 10373  
 11333  
 10374  						filecount += 1
 11334  						filecount += 1
 10375 -						exportwhatlog+="<member>" + expfilename + "</member>\n"
 11335 -						exportwhatlog+="<member>" + expfilename + "</member>\n"
 10376 +						exportwhatlog+="<member>" + escape(expfilename) + "</member>\n"
 11336 +						exportwhatlog+="<member>" + escape(expfilename) + "</member>\n"
 10377  					except IOError, e:
 11337  					except IOError, e:
 10378  						message = "Could not unzip %s to %s: file %s: %s" %(source, destination, expfilename, str(e))
 11338  						message = "Could not unzip %s to %s: file %s: %s" %(source, destination, expfilename, str(e))
 10379  						if not self.__Raptor.keepGoing:
 11339  						if not self.__Raptor.keepGoing:
 10380 @@ -2899,7 +2999,7 @@
 11340 @@ -2899,7 +3010,7 @@
 10381  			self.__Raptor.PrintXML("<zipmarker>" + markerfilename +	"</zipmarker>\n")
 11341  			self.__Raptor.PrintXML("<zipmarker>" + markerfilename +	"</zipmarker>\n")
 10382  			self.__Raptor.PrintXML("</clean>\n")
 11342  			self.__Raptor.PrintXML("</clean>\n")
 10383  
 11343  
 10384 -		except IOError:
 11344 -		except IOError:
 10385 +		except IOError, e:
 11345 +		except IOError, e:
 10386  			self.__Raptor.Warn("Problem while unzipping export %s to %s: %s",source,destination,str(e))
 11346  			self.__Raptor.Warn("Problem while unzipping export %s to %s: %s",source,destination,str(e))
 10387  
 11347  
 10388  		self.__Raptor.Info("Unzipped %d files from %s to %s", filecount, source, destination)
 11348  		self.__Raptor.Info("Unzipped %d files from %s to %s", filecount, source, destination)
 10389 @@ -2915,12 +3015,12 @@
 11349 @@ -2915,12 +3026,12 @@
 10390  			return	# feature variation does not run extensions at all
 11350  			return	# feature variation does not run extensions at all
 10391  		
 11351  		
 10392  		if buildPlatform["TESTCODE"]:
 11352  		if buildPlatform["TESTCODE"]:
 10393 -			extensions = componentNode.bldinf.getTestExtensions(buildPlatform)
 11353 -			extensions = componentNode.bldinf.getTestExtensions(buildPlatform)
 10394 +			extensions = componentNode.component.bldinf.getTestExtensions(buildPlatform)
 11354 +			extensions = componentNode.component.bldinf.getTestExtensions(buildPlatform)
 10400 -							len(extensions), str(componentNode.bldinf.filename))
 11360 -							len(extensions), str(componentNode.bldinf.filename))
 10401 +							len(extensions), str(componentNode.component.bldinf.filename))
 11361 +							len(extensions), str(componentNode.component.bldinf.filename))
 10402  
 11362  
 10403  		for i,extension in enumerate(extensions):
 11363  		for i,extension in enumerate(extensions):
 10404  			if self.__Raptor.projects:
 11364  			if self.__Raptor.projects:
 10405 @@ -2999,14 +3099,20 @@
 11365 @@ -2979,7 +3090,6 @@
       
 11366  				value = options[option].replace('$(EPOCROOT)', '$(EPOCROOT)/')
       
 11367  				value = value.replace('$(', '$$$$(')
       
 11368  				value = value.replace('$/', '/').replace('$;', ':')
       
 11369 -				value = value.replace('$/', '/').replace('$;', ':')
       
 11370  
       
 11371  				if customInterface:
       
 11372  					var.AddOperation(raptor_data.Set(option, value))
       
 11373 @@ -2999,14 +3109,20 @@
 10406  		gnuList = []
 11374  		gnuList = []
 10407  		makefileList = []
 11375  		makefileList = []
 10408  
 11376  
 10409 +
 11377 +
 10410 +		component = componentNode.component
 11378 +		component = componentNode.component
 10424 +			component.AddMMP(mmpFileEntry.filename) # Tell the component another mmp is specified (for this platform)
 11392 +			component.AddMMP(mmpFileEntry.filename) # Tell the component another mmp is specified (for this platform)
 10425 +
 11393 +
 10426  			projectname = mmpFileEntry.filename.File().lower()
 11394  			projectname = mmpFileEntry.filename.File().lower()
 10427  
 11395  
 10428  			if self.__Raptor.projects:
 11396  			if self.__Raptor.projects:
 10429 @@ -3024,7 +3130,8 @@
 11397 @@ -3024,7 +3140,8 @@
 10430  
 11398  
 10431  			mmpFile = MMPFile(foundmmpfile,
 11399  			mmpFile = MMPFile(foundmmpfile,
 10432  								   self.__gnucpp,
 11400  								   self.__gnucpp,
 10433 -								   bldinf = componentNode.bldinf,
 11401 -								   bldinf = componentNode.bldinf,
 10434 +								   component.bldinf,
 11402 +								   component.bldinf,
 10435 +								   component.depfiles,
 11403 +								   component.depfiles,
 10436  								   log = self.__Raptor)
 11404  								   log = self.__Raptor)
 10437  
 11405  
 10438  			mmpFilename = mmpFile.filename
 11406  			mmpFilename = mmpFile.filename
 10439 @@ -3058,7 +3165,7 @@
 11407 @@ -3058,7 +3175,7 @@
 10440  				continue
 11408  				continue
 10441  			
 11409  			
 10442  			# now build the specification tree
 11410  			# now build the specification tree
 10443 -			mmpSpec = raptor_data.Specification(self.getSpecName(mmpFilename))
 11411 -			mmpSpec = raptor_data.Specification(self.getSpecName(mmpFilename))
 10444 +			mmpSpec = raptor_data.Specification(generic_path.Path(getSpecName(mmpFilename)))
 11412 +			mmpSpec = raptor_data.Specification(generic_path.Path(getSpecName(mmpFilename)))
 10445  			var = backend.BuildVariant
 11413  			var = backend.BuildVariant
 10446  
 11414  
 10447  			var.AddOperation(raptor_data.Set("PROJECT_META", str(mmpFilename)))
 11415  			var.AddOperation(raptor_data.Set("PROJECT_META", str(mmpFilename)))
 10448 @@ -3094,7 +3201,7 @@
 11416 @@ -3094,7 +3211,7 @@
 10449  
 11417  
 10450  			# Although not part of the MMP, some MMP-based build specs additionally require knowledge of their
 11418  			# Although not part of the MMP, some MMP-based build specs additionally require knowledge of their
 10451  			# container bld.inf exported headers
 11419  			# container bld.inf exported headers
 10452 -			for export in componentNode.bldinf.getExports(buildPlatform):
 11420 -			for export in componentNode.bldinf.getExports(buildPlatform):
 10453 +			for export in componentNode.component.bldinf.getExports(buildPlatform):
 11421 +			for export in componentNode.component.bldinf.getExports(buildPlatform):
 10454  				destination = export.getDestination()
 11422  				destination = export.getDestination()
 10455  				if isinstance(destination, list):
 11423  				if isinstance(destination, list):
 10456  					exportfile = str(destination[0])
 11424  					exportfile = str(destination[0])
 10457 @@ -3108,6 +3215,16 @@
 11425 @@ -3108,6 +3225,16 @@
 10458  			mmpSpec.AddVariant(var)
 11426  			mmpSpec.AddVariant(var)
 10459  			componentNode.AddChild(mmpSpec)
 11427  			componentNode.AddChild(mmpSpec)
 10460  
 11428  
 10461 +			# if there are APPLY variants then add them to the mmpSpec too
 11429 +			# if there are APPLY variants then add them to the mmpSpec too
 10462 +			for applyVar in backend.ApplyVariants:
 11430 +			for applyVar in backend.ApplyVariants:
 10469 +								        bldinf=str(bldInfFile))
 11437 +								        bldinf=str(bldInfFile))
 10470 +
 11438 +
 10471  			# resources, stringtables and bitmaps are sub-nodes of this project
 11439  			# resources, stringtables and bitmaps are sub-nodes of this project
 10472  			# (do not add these for feature variant builds)
 11440  			# (do not add these for feature variant builds)
 10473  			
 11441  			
 10474 @@ -3150,7 +3267,7 @@
 11442 @@ -3150,7 +3277,7 @@
 10475  					self.projectList.remove(projectname)
 11443  					self.projectList.remove(projectname)
 10476  
 11444  
 10477  			self.__Raptor.Debug("%i gnumakefile extension makefiles for %s",
 11445  			self.__Raptor.Debug("%i gnumakefile extension makefiles for %s",
 10478 -						len(gnuList), str(componentNode.bldinf.filename))
 11446 -						len(gnuList), str(componentNode.bldinf.filename))
 10479 +						len(gnuList), str(componentNode.component.bldinf.filename))
 11447 +						len(gnuList), str(componentNode.component.bldinf.filename))
 10480  			var = raptor_data.Variant()
 11448  			var = raptor_data.Variant()
 10481  			gnuSpec = raptor_data.Specification("gnumakefile " + str(g.getMakefileName()))
 11449  			gnuSpec = raptor_data.Specification("gnumakefile " + str(g.getMakefileName()))
 10482  			interface = buildPlatform["ext_makefile"]
 11450  			interface = buildPlatform["ext_makefile"]
 10483 @@ -3182,7 +3299,7 @@
 11451 @@ -3179,10 +3306,10 @@
 10484  					projectList.remove(projectname)
 11452  					self.__Raptor.Debug("Skipping %s", str(m.getMakefileName()))
       
 11453  					continue
       
 11454  				elif projectname in self.projectList:
       
 11455 -					projectList.remove(projectname)
       
 11456 +					self.projectList.remove(projectname)
 10485  
 11457  
 10486  			self.__Raptor.Debug("%i makefile extension makefiles for %s",
 11458  			self.__Raptor.Debug("%i makefile extension makefiles for %s",
 10487 -						len(makefileList), str(componentNode.bldinf.filename))
 11459 -						len(makefileList), str(componentNode.bldinf.filename))
 10488 +						len(makefileList), str(componentNode.component.bldinf.filename))
 11460 +						len(makefileList), str(componentNode.component.bldinf.filename))
 10489  			var = raptor_data.Variant()
 11461  			var = raptor_data.Variant()
 10490  			gnuSpec = raptor_data.Specification("makefile " + str(m.getMakefileName()))
 11462  			gnuSpec = raptor_data.Specification("makefile " + str(m.getMakefileName()))
 10491  			interface = buildPlatform["ext_makefile"]
 11463  			interface = buildPlatform["ext_makefile"]
 10492 @@ -3203,17 +3320,6 @@
 11464 @@ -3203,17 +3330,6 @@
 10493  			gnuSpec.AddVariant(var)
 11465  			gnuSpec.AddVariant(var)
 10494  			componentNode.AddChild(gnuSpec)
 11466  			componentNode.AddChild(gnuSpec)
 10495  
 11467  
 10496 -	def getSpecName(self, aFileRoot, fullPath=False):
 11468 -	def getSpecName(self, aFileRoot, fullPath=False):
 10497 -		"""Returns a build spec name: this is the file root (full path
 11469 -		"""Returns a build spec name: this is the file root (full path
 10507  
 11479  
 10508  	def ApplyOSVariant(self, aBuildUnit, aEpocroot):
 11480  	def ApplyOSVariant(self, aBuildUnit, aEpocroot):
 10509  		# Form path to kif.xml and path to buildinfo.txt
 11481  		# Form path to kif.xml and path to buildinfo.txt
 10510 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor.py
 11482 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor.py
 10511 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor.py	2010-05-18 19:32:34.789348356 +0100
 11483 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor.py	2010-05-18 19:32:34.789348356 +0100
 10512 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor.py	2010-05-17 18:47:53.092842000 +0100
 11484 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor.py	2010-06-04 12:09:25.031849000 +0100
 10513 @@ -1,5 +1,5 @@
 11485 @@ -1,5 +1,5 @@
 10514  #
 11486  #
 10515 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
 11487 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
 10516 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 11488 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 10517  # All rights reserved.
 11489  # All rights reserved.
 10674 +		"build" the product represented by this model node"""
 11646 +		"build" the product represented by this model node"""
 10675 +		# Must ensure that all children are unfurled at this point
 11647 +		# Must ensure that all children are unfurled at this point
 10676 +		self.unfurl_all(build)
 11648 +		self.unfurl_all(build)
 10677 +
 11649 +
 10678 +		sp = self.specs
 11650 +		sp = self.specs
 10679  
 11651 +
 10680 -	def extend(self, c):
       
 10681 -		self.components.extend(c)
       
 10682 +		build.AssertBuildOK()
 11652 +		build.AssertBuildOK()
 10683 +
 11653 +
 10684 +		m = self.realise_makefile(build, sp)
 11654 +		m = self.realise_makefile(build, sp)
 10685 +
 11655 +
 10686 +		build.InfoStartTime(object_type = "layer", task = "build",
 11656 +		build.InfoStartTime(object_type = "layer", task = "build",
 10689 +		build.InfoEndTime(object_type = "layer", task = "build",
 11659 +		build.InfoEndTime(object_type = "layer", task = "build",
 10690 +				key = (str(m.directory) + "/" + str(m.filenamebase)))
 11660 +				key = (str(m.directory) + "/" + str(m.filenamebase)))
 10691 +
 11661 +
 10692 +
 11662 +
 10693 +		return result
 11663 +		return result
 10694 +
 11664  
 10695 +
 11665 -	def extend(self, c):
 10696 +
 11666 -		self.components.extend(c)
       
 11667  	
       
 11668 -	def append(self, c):
       
 11669 -		self.components.append(c)
       
 11670  
       
 11671 -	def GenerateSpecs(self, genericspecs, configs):
       
 11672 -		"""Return a build spec hierarchy for a ComponentGroup. This involves parsing the component MetaData (bld.infs, mmps). 
 10697 +class Project(ModelNode):
 11673 +class Project(ModelNode):
 10698 +	"""A project or, in symbian-speak, an MMP
 11674 +	"""A project or, in symbian-speak, an MMP
 10699 +	"""
 11675 +	"""
 10700 +	def __init__(self, filename, parent = None):
 11676 +	def __init__(self, filename, parent = None):
 10701 +		super(Project,self).__init__(filename, parent = parent)
 11677 +		super(Project,self).__init__(filename, parent = parent)
 10743 +		on for use in log output.
 11719 +		on for use in log output.
 10744 +	"""
 11720 +	"""
 10745 +	def __init__(self, name, componentlist=[]):
 11721 +	def __init__(self, name, componentlist=[]):
 10746 +		super(Layer,self).__init__(name)
 11722 +		super(Layer,self).__init__(name)
 10747 +		self.name = name
 11723 +		self.name = name
 10748  	
 11724 +
 10749 -	def append(self, c):
       
 10750 -		self.components.append(c)
       
 10751 +		for c in componentlist:
 11725 +		for c in componentlist:
 10752 +			if isinstance(c, raptor_xml.SystemModelComponent):
 11726 +			if isinstance(c, raptor_xml.SystemModelComponent):
 10753 +				# this component came from a system_definition.xml
 11727 +				# this component came from a system_definition.xml
 10754 +				self.children.add(Component(c, c.GetContainerName("layer"), c.GetContainerName("component")))
 11728 +				self.children.add(Component(c, c.GetContainerName("layer"), c.GetContainerName("component")))
 10755 +			else:
 11729 +			else:
 10756 +				# this is a plain old bld.inf file from the command-line
 11730 +				# this is a plain old bld.inf file from the command-line
 10757 +				self.children.add(Component(c))
 11731 +				self.children.add(Component(c))
 10758  
 11732 +
 10759 -	def GenerateSpecs(self, genericspecs, configs):
       
 10760 -		"""Return a build spec hierarchy for a ComponentGroup. This involves parsing the component MetaData (bld.infs, mmps). 
       
 10761 +	def unfurl(self, build):
 11733 +	def unfurl(self, build):
 10762 +		"""Discover the children of this layer. This involves parsing the component MetaData (bld.infs, mmps).
 11734 +		"""Discover the children of this layer. This involves parsing the component MetaData (bld.infs, mmps).
 10763  		Takes a raptor object as a parameter (build), together with a list of Configurations.
 11735  		Takes a raptor object as a parameter (build), together with a list of Configurations.
 10764  
 11736  
 10765 -		Returns a tuple consisting of a list of specification objects and a list of dependency files
 11737 -		Returns a tuple consisting of a list of specification objects and a list of dependency files
 10804 -
 11776 -
 10805 -		# Get a unique list of the dependency files that were created
 11777 -		# Get a unique list of the dependency files that were created
 10806 -		if metaReader:
 11778 -		if metaReader:
 10807 -			for c in metaReader.BuildPlatforms:
 11779 -			for c in metaReader.BuildPlatforms:
 10808 -				self.dependencies.update(c["METADEPS"])
 11780 -				self.dependencies.update(c["METADEPS"])
 10809 -
 11781 +				build.Error(e.Text)
 10810 -
 11782  
       
 11783 +		self.unfurled = True
       
 11784  
 10811 -	def CreateMakefile(self, makefilename_base, engine, named = False):
 11785 -	def CreateMakefile(self, makefilename_base, engine, named = False):
 10812 -		if len(self.specs) <= 0:
 11786 -		if len(self.specs) <= 0:
 10813 -			return None
 11787 -			return None
 10814 -
 11788 -
 10815 -		if named:
 11789 -		if named:
 10817 -		else:
 11791 -		else:
 10818 -			makefile = generic_path.Path(str(makefilename_base))
 11792 -			makefile = generic_path.Path(str(makefilename_base))
 10819 -
 11793 -
 10820 -		# insert the start time into the Makefile name?
 11794 -		# insert the start time into the Makefile name?
 10821 -		makefile.path = makefile.path.replace("%TIME", build.timestring)
 11795 -		makefile.path = makefile.path.replace("%TIME", build.timestring)
 10822 +				build.Error(e.Text)
 11796 -
 10823  
       
 10824 -		engine.Write(makefile, self.specs, self.configs)
 11797 -		engine.Write(makefile, self.specs, self.configs)
 10825 +		self.unfurled = True
       
 10826  
 11798  
 10827 -		return makefile
 11799 -		return makefile
 10828  
       
 10829 +	def meta_realise(self, build):
 11800 +	def meta_realise(self, build):
 10830 +		"""Generate specs that can be used to "take care of" finding out more
 11801 +		"""Generate specs that can be used to "take care of" finding out more
 10831 +		about this metaunit - i.e. one doesn't want to parse it immediately
 11802 +		about this metaunit - i.e. one doesn't want to parse it immediately
 10832 +		but to create a makefile that will parse it.
 11803 +		but to create a makefile that will parse it.
 10833 +		In this case it allows bld.infs to be parsed in parallel by make."""
 11804 +		In this case it allows bld.infs to be parsed in parallel by make."""
 10834  
 11805  
       
 11806 -
 10835 -	def GenerateMetadataSpecs(self, configs):
 11807 -	def GenerateMetadataSpecs(self, configs):
 10836  		# insert the start time into the Makefile name?
 11808  		# insert the start time into the Makefile name?
 10837  
 11809  
 10838 -		self.configs = build.GetConfig("build").GenerateBuildUnits()
 11810 -		self.configs = build.GetConfig("build").GenerateBuildUnits()
 10839 +		self.configs = build.buildUnitsToBuild
 11811 +		self.configs = build.buildUnitsToBuild
 10840  
 11812  
 10841  		# Pass certain CLI flags through to the makefile-generating sbs calls
 11813  		# Pass certain CLI flags through to the makefile-generating sbs calls
 10842  		cli_options = ""
 11814  		cli_options = ""
 10843 @@ -206,34 +338,53 @@
 11815 @@ -206,34 +338,50 @@
 10844  		if build.quiet == True:
 11816  		if build.quiet == True:
 10845  			cli_options += " -q"
 11817  			cli_options += " -q"
 10846  
 11818  
 10847 +		if build.timing == True:
 11819 +		if build.noDependInclude == True:
 10848 +			cli_options += " --timing"
 11820 +			cli_options += " --no-depend-include"
       
 11821 +
       
 11822 +		if build.noDependGenerate == True:
       
 11823 +			cli_options += " --no-depend-generate"
       
 11824 +
 10849  		
 11825  		
 10850 -		nc = len(self.components)
 11826 -		nc = len(self.components)
 10851 -		number_blocks = 16
 11827 -		number_blocks = 16
 10852 +		if build.noDependInclude == True:
       
 10853 +			cli_options += " --no-depend-include"
       
 10854 +
       
 10855 +		if build.noDependGenerate == True:
       
 10856 +			cli_options += " --no-depend-generate"
       
 10857 +
       
 10858 +
       
 10859 +		nc = len(self.children)
 11828 +		nc = len(self.children)
 10860 +		number_blocks = build.jobs
 11829 +		number_blocks = build.jobs
 10861  		block_size = (nc / number_blocks) + 1
 11830  		block_size = (nc / number_blocks) + 1
 10862  		component_blocks = []
 11831  		component_blocks = []
 10863  		spec_nodes = []
 11832  		spec_nodes = []
 10900 -				# print "couldn't unlink %s: %s" %(componentMakefileName, str(e))
 11869 -				# print "couldn't unlink %s: %s" %(componentMakefileName, str(e))
 10901 +			except Exception:
 11870 +			except Exception:
 10902  				pass
 11871  				pass
 10903  			
 11872  			
 10904  			# add some basic data in a component-wide variant
 11873  			# add some basic data in a component-wide variant
 10905 @@ -242,13 +393,19 @@
 11874 @@ -242,13 +390,19 @@
 10906  			var.AddOperation(raptor_data.Set("MAKEFILE_PATH", makefile_path))
 11875  			var.AddOperation(raptor_data.Set("MAKEFILE_PATH", makefile_path))
 10907  			var.AddOperation(raptor_data.Set("CONFIGS", configList))
 11876  			var.AddOperation(raptor_data.Set("CONFIGS", configList))
 10908  			var.AddOperation(raptor_data.Set("CLI_OPTIONS", cli_options))
 11877  			var.AddOperation(raptor_data.Set("CLI_OPTIONS", cli_options))
 10909 +
 11878 +
 10910 +
 11879 +
 10922 -	
 11891 -	
 10923 -	
 11892 -	
 10924  			try:
 11893  			try:
 10925  				interface = build.cache.FindNamedInterface("build.makefiles")
 11894  				interface = build.cache.FindNamedInterface("build.makefiles")
 10926  				specNode.SetInterface(interface)
 11895  				specNode.SetInterface(interface)
 10927 @@ -256,15 +413,30 @@
 11896 @@ -256,15 +410,30 @@
 10928  				build.Error("Can't find flm interface 'build.makefiles' ")
 11897  				build.Error("Can't find flm interface 'build.makefiles' ")
 10929  				
 11898  				
 10930  			spec_nodes.append(specNode)
 11899  			spec_nodes.append(specNode)
 10931 +			binding_makefiles.addInclude(str(makefile_path)+"_all")
 11900 +			binding_makefiles.addInclude(str(makefile_path)+"_all")
 10932  			
 11901  			
 10948 +				key = str(build.topMakefile))
 11917 +				key = str(build.topMakefile))
 10949 +		return b
 11918 +		return b
 10950  			
 11919  			
 10951  
 11920  
 10952 -		## possibly some error handling here?
 11921 -		## possibly some error handling here?
       
 11922  
       
 11923 -		self.specs = spec_nodes
       
 11924  
 10953 -
 11925 -
 10954 -		self.specs = spec_nodes
       
 10955  
       
 10956  
       
 10957 -class BuildCompleteException(Exception):
 11926 -class BuildCompleteException(Exception):
 10958 +class BuildCannotProgressException(Exception):
 11927 +class BuildCannotProgressException(Exception):
 10959  	pass
 11928  	pass
 10960  
 11929  
 10961  # raptor module classes
 11930  # raptor module classes
 10962 @@ -326,8 +498,8 @@
 11931 @@ -276,9 +445,10 @@
       
 11932  	created by the Main function. When operated by an IDE several Raptor
       
 11933  	objects may be created and operated at the same time."""
       
 11934  
       
 11935 -
       
 11936 +	# mission enumeration
       
 11937  	M_BUILD = 1
       
 11938 -	M_VERSION = 2	
       
 11939 +	M_QUERY = 2
       
 11940 +	M_VERSION = 3
       
 11941  
       
 11942  	def __init__(self, home = None):
       
 11943  
       
 11944 @@ -326,8 +496,8 @@
 10963  		# things to initialise
 11945  		# things to initialise
 10964  		self.args = []
 11946  		self.args = []
 10965  
 11947  
 10966 -		self.componentGroups = []
 11948 -		self.componentGroups = []
 10967 -		self.orderComponentGroups = False
 11949 -		self.orderComponentGroups = False
 10968 +		self.layers = []
 11950 +		self.layers = []
 10969 +		self.orderLayers = False
 11951 +		self.orderLayers = False
 10970  		self.commandlineComponents = []
 11952  		self.commandlineComponents = []
 10971  
 11953  
 10972  		self.systemModel = None
 11954  		self.systemModel = None
 10973 @@ -343,8 +515,10 @@
 11955 @@ -343,9 +513,12 @@
 10974  		self.maker = None
 11956  		self.maker = None
 10975  		self.debugOutput = False
 11957  		self.debugOutput = False
 10976  		self.doExportOnly = False
 11958  		self.doExportOnly = False
 10977 +		self.doExport = True
 11959 +		self.doExport = True
 10978  		self.noBuild = False
 11960  		self.noBuild = False
 10979  		self.noDependInclude = False
 11961  		self.noDependInclude = False
 10980 +		self.noDependGenerate = False
 11962 +		self.noDependGenerate = False
 10981  		self.projects = set()
 11963  		self.projects = set()
       
 11964 +		self.queries = []
 10982  
 11965  
 10983  		self.cache = raptor_cache.Cache(self)
 11966  		self.cache = raptor_cache.Cache(self)
 10984 @@ -360,6 +534,7 @@
 11967  		self.override = {env: str(self.home)}
       
 11968 @@ -360,6 +533,7 @@
 10985  		# what platform and filesystem are we running on?
 11969  		# what platform and filesystem are we running on?
 10986  		self.filesystem = raptor_utilities.getOSFileSystem()
 11970  		self.filesystem = raptor_utilities.getOSFileSystem()
 10987  
 11971  
 10988 +		self.timing = False
 11972 +		self.timing = True # Needed by filters such as copy_file to monitor progress
 10989  		self.toolset = None
 11973  		self.toolset = None
 10990  
 11974  
 10991  		self.starttime = time.time()
 11975  		self.starttime = time.time()
 10992 @@ -374,6 +549,9 @@
 11976 @@ -374,6 +548,9 @@
 10993  		return True
 11977  		return True
 10994  
 11978  
 10995  	def AddConfigName(self, name):
 11979  	def AddConfigName(self, name):
 10996 +		if name == "build":
 11980 +		if name == "build":
 10997 +			traceback.print_stack((sys.stdout))
 11981 +			traceback.print_stack((sys.stdout))
 10998 +			sys.exit(1)
 11982 +			sys.exit(1)
 10999  		self.configNames.append(name)
 11983  		self.configNames.append(name)
 11000  		return True
 11984  		return True
 11001  
 11985  
 11002 @@ -439,6 +617,16 @@
 11986 @@ -439,6 +616,16 @@
 11003  
 11987  
 11004  	def SetExportOnly(self, TrueOrFalse):
 11988  	def SetExportOnly(self, TrueOrFalse):
 11005  		self.doExportOnly = TrueOrFalse
 11989  		self.doExportOnly = TrueOrFalse
 11006 +		if not self.doExport:
 11990 +		if not self.doExport:
 11007 +			self.Error("The --noexport and --export-only options are incompatible - won't to do anything useful")
 11991 +			self.Error("The --noexport and --export-only options are incompatible - won't to do anything useful")
 11014 +			self.Error("The --noexport and --export-only options are incompatible - won't to do anything useful")
 11998 +			self.Error("The --noexport and --export-only options are incompatible - won't to do anything useful")
 11015 +			return False
 11999 +			return False
 11016  		return True
 12000  		return True
 11017  
 12001  
 11018  	def SetNoBuild(self, TrueOrFalse):
 12002  	def SetNoBuild(self, TrueOrFalse):
 11019 @@ -449,6 +637,10 @@
 12003 @@ -449,6 +636,10 @@
 11020  		self.noDependInclude = TrueOrFalse
 12004  		self.noDependInclude = TrueOrFalse
 11021  		return True
 12005  		return True
 11022  		
 12006  		
 11023 +	def SetNoDependGenerate(self, TrueOrFalse):
 12007 +	def SetNoDependGenerate(self, TrueOrFalse):
 11024 +		self.noDependGenerate = TrueOrFalse
 12008 +		self.noDependGenerate = TrueOrFalse
 11025 +		return True
 12009 +		return True
 11026 +
 12010 +
 11027  	def SetKeepGoing(self, TrueOrFalse):
 12011  	def SetKeepGoing(self, TrueOrFalse):
 11028  		self.keepGoing = TrueOrFalse
 12012  		self.keepGoing = TrueOrFalse
 11029  		return True
 12013  		return True
 11030 @@ -503,10 +695,16 @@
 12014 @@ -503,10 +694,16 @@
 11031  
 12015  
 11032  		return True
 12016  		return True
 11033  
 12017  
 11034 +	def SetTiming(self, TrueOrFalse):
 12018 +	def SetTiming(self, TrueOrFalse):
 11035 +		self.timing = TrueOrFalse
 12019 +		self.Info("--timing switch no longer has any effect - build timing is now permanently on")
 11036 +		return True
 12020 +		return True
 11037 +
 12021 +
 11038  	def SetParallelParsing(self, type):
 12022  	def SetParallelParsing(self, type):
 11039  		type = type.lower()
 12023  		type = type.lower()
 11040  		if type == "on":
 12024  		if type == "on":
 11042 +		elif type == "slave":
 12026 +		elif type == "slave":
 11043 +			self.isParallelParsingSlave = True
 12027 +			self.isParallelParsingSlave = True
 11044  		elif type == "off":
 12028  		elif type == "off":
 11045  			self.doParallelParsing = False
 12029  			self.doParallelParsing = False
 11046  		else:
 12030  		else:
 11047 @@ -529,7 +727,7 @@
 12031 @@ -519,6 +716,11 @@
       
 12032  		self.projects.add(projectName.lower())
       
 12033  		return True
       
 12034  
       
 12035 +	def AddQuery(self, q):
       
 12036 +		self.queries.append(q)
       
 12037 +		self.mission = Raptor.M_QUERY
       
 12038 +		return True
       
 12039 +	
       
 12040  	def FilterList(self, value):
       
 12041  		self.filterList = value
       
 12042  		return True
       
 12043 @@ -529,7 +731,7 @@
 11048  
 12044  
 11049  	def PrintVersion(self,dummy):
 12045  	def PrintVersion(self,dummy):
 11050  		global name
 12046  		global name
 11051 -		print name, "version", raptor_version.Version()
 12047 -		print name, "version", raptor_version.Version()
 11052 +		print name, "version", raptor_version.fullversion()
 12048 +		print name, "version", raptor_version.fullversion()
 11053  		self.mission = Raptor.M_VERSION
 12049  		self.mission = Raptor.M_VERSION
 11054  		return False
 12050  		return False
 11055  
 12051  
 11056 @@ -538,7 +736,7 @@
 12052 @@ -538,7 +740,7 @@
 11057  	def Introduction(self):
 12053  	def Introduction(self):
 11058  		"""Print a header of useful information about Raptor"""
 12054  		"""Print a header of useful information about Raptor"""
 11059  
 12055  
 11060 -		self.Info("%s: version %s\n", name, raptor_version.Version())
 12056 -		self.Info("%s: version %s\n", name, raptor_version.Version())
 11061 +		self.Info("%s: version %s\n", name, raptor_version.fullversion())
 12057 +		self.Info("%s: version %s\n", name, raptor_version.fullversion())
 11062  
 12058  
 11063  		self.Info("%s %s", env, str(self.home))
 12059  		self.Info("%s %s", env, str(self.home))
 11064  		self.Info("Set-up %s", str(self.raptorXML))
 12060  		self.Info("Set-up %s", str(self.raptorXML))
 11065 @@ -546,8 +744,8 @@
 12061 @@ -546,8 +748,8 @@
 11066  		self.Info("Current working directory %s", os.getcwd())
 12062  		self.Info("Current working directory %s", os.getcwd())
 11067  		
 12063  		
 11068  		# the inherited environment
 12064  		# the inherited environment
 11069 -		for e, value in os.environ.items():
 12065 -		for e, value in os.environ.items():
 11070 -			self.Info("Environment %s=%s", e, value)
 12066 -			self.Info("Environment %s=%s", e, value)
 11071 +		for e, value in sorted( os.environ.items() ):
 12067 +		for e, value in sorted( os.environ.items() ):
 11072 +			self.Info("Environment %s=%s", e, value.replace("]]>", "]]&gt;"))
 12068 +			self.Info("Environment %s=%s", e, value.replace("]]>", "]]&gt;"))
 11073  
 12069  
 11074  		# and some general debug stuff
 12070  		# and some general debug stuff
 11075  		self.Debug("Platform %s", "-".join(hostplatform))
 12071  		self.Debug("Platform %s", "-".join(hostplatform))
 11076 @@ -659,32 +857,6 @@
 12072 @@ -597,8 +799,10 @@
       
 12073  		self.args = args
       
 12074  
       
 12075  		# assuming self.CLI = "raptor_cli"
       
 12076 -		more_to_do = raptor_cli.GetArgs(self, args)
       
 12077 +		if not raptor_cli.GetArgs(self, args):
       
 12078 +			self.skipAll = True		# nothing else to do
       
 12079  
       
 12080 +	def ParseCommandLineTargets(self):
       
 12081  		# resolve inter-argument dependencies.
       
 12082  		# --what or --check implies the WHAT target and FilterWhat Filter
       
 12083  		if self.doWhat or self.doCheck:
       
 12084 @@ -631,9 +835,13 @@
       
 12085  				self.filterList += ",filterclean"
       
 12086  				if is_suspicious_clean:
       
 12087  					self.Warn('CLEAN, CLEANEXPORT and a REALLYCLEAN should not be combined with other targets as the result is unpredictable.')
       
 12088 +			else:
       
 12089 +				""" Copyfile implements the <copy> tag which is primarily useful with cluster builds.
       
 12090 +				    It allows file copying to occur on the primary build host rather than on the cluster.
       
 12091 +				    This is more efficient.
       
 12092 +				"""
       
 12093 +				self.filterList += ",filtercopyfile"
       
 12094  
       
 12095 -		if not more_to_do:
       
 12096 -			self.skipAll = True		# nothing else to do
       
 12097  
       
 12098  	def ProcessConfig(self):
       
 12099  		# this function will perform additional processing of config
       
 12100 @@ -659,32 +867,6 @@
 11077  
 12101  
 11078  		self.cache.Load(self.systemFLM)
 12102  		self.cache.Load(self.systemFLM)
 11079  
 12103  
 11080 -	def GetConfig(self, configname):
 12104 -	def GetConfig(self, configname):
 11081 -		names = configname.split(".")
 12105 -		names = configname.split(".")
 11104 -		return x
 12128 -		return x
 11105 -
 12129 -
 11106  	def GetBuildUnitsToBuild(self, configNames):
 12130  	def GetBuildUnitsToBuild(self, configNames):
 11107  		"""Return a list of the configuration objects that correspond to the 
 12131  		"""Return a list of the configuration objects that correspond to the 
 11108  		   list of configuration names in the configNames parameter.
 12132  		   list of configuration names in the configNames parameter.
 11109 @@ -700,15 +872,7 @@
 12133 @@ -700,15 +882,7 @@
 11110  			else:
 12134  			else:
 11111  				configNames.append(self.defaultConfig)
 12135  				configNames.append(self.defaultConfig)
 11112  
 12136  
 11113 -		buildUnitsToBuild = set()
 12137 -		buildUnitsToBuild = set()
 11114 -
 12138 -
 11121 -				self.FatalError(str(e))
 12145 -				self.FatalError(str(e))
 11122 +		buildUnitsToBuild = raptor_data.GetBuildUnits(configNames, self.cache, self)
 12146 +		buildUnitsToBuild = raptor_data.GetBuildUnits(configNames, self.cache, self)
 11123  
 12147  
 11124  		for b in buildUnitsToBuild:
 12148  		for b in buildUnitsToBuild:
 11125  			self.Info("Buildable configuration '%s'", b.name)
 12149  			self.Info("Buildable configuration '%s'", b.name)
 11126 @@ -770,13 +934,13 @@
 12150 @@ -770,13 +944,13 @@
 11127  				systemModel.DumpLayerInfo(layer)
 12151  				systemModel.DumpLayerInfo(layer)
 11128  
 12152  
 11129  				if systemModel.IsLayerBuildable(layer):
 12153  				if systemModel.IsLayerBuildable(layer):
 11130 -					layersToBuild.append(ComponentGroup(layer,
 12154 -					layersToBuild.append(ComponentGroup(layer,
 11131 +					layersToBuild.append(Layer(layer,
 12155 +					layersToBuild.append(Layer(layer,
 11137 -	# Add bld.inf or system definition xml to command line componentGroups (depending on preference)
 12161 -	# Add bld.inf or system definition xml to command line componentGroups (depending on preference)
 11138 +	# Add bld.inf or system definition xml to command line layers (depending on preference)
 12162 +	# Add bld.inf or system definition xml to command line layers (depending on preference)
 11139  	def FindSysDefIn(self, aDir = None):
 12163  	def FindSysDefIn(self, aDir = None):
 11140  		# Find a system definition file
 12164  		# Find a system definition file
 11141  
 12165  
 11142 @@ -801,22 +965,12 @@
 12166 @@ -801,22 +975,12 @@
 11143  			dir = generic_path.Path(aDir)
 12167  			dir = generic_path.Path(aDir)
 11144  
 12168  
 11145  		bldInf = dir.Append(self.buildInformation)
 12169  		bldInf = dir.Append(self.buildInformation)
 11146 -		componentgroup = []
 12170 -		componentgroup = []
 11147  
 12171  
 11160 -				spec.DebugPrint()
 12184 -				spec.DebugPrint()
 11161 -
 12185 -
 11162  	def GenerateGenericSpecs(self, configsToBuild):
 12186  	def GenerateGenericSpecs(self, configsToBuild):
 11163  		# if a Configuration has any config-wide interfaces
 12187  		# if a Configuration has any config-wide interfaces
 11164  		# then add a Specification node to call each of them.
 12188  		# then add a Specification node to call each of them.
 11165 @@ -832,7 +986,7 @@
 12189 @@ -832,7 +996,7 @@
 11166  					filter.AddConfigCondition(c.name)
 12190  					filter.AddConfigCondition(c.name)
 11167  				else:
 12191  				else:
 11168  					# create a new node
 12192  					# create a new node
 11169 -					filter = raptor_data.Filter("config_wide")
 12193 -					filter = raptor_data.Filter("config_wide")
 11170 +					filter = raptor_data.Filter(name = "config_wide")
 12194 +					filter = raptor_data.Filter(name = "config_wide")
 11171  					filter.AddConfigCondition(c.name)
 12195  					filter.AddConfigCondition(c.name)
 11172  					for i in iface.split():
 12196  					for i in iface.split():
 11173  						spec = raptor_data.Specification(i)
 12197  						spec = raptor_data.Specification(i)
 11174 @@ -842,50 +996,25 @@
 12198 @@ -842,50 +1006,25 @@
 11175  					configWide[iface] = filter
 12199  					configWide[iface] = filter
 11176  					genericSpecs.append(filter)
 12200  					genericSpecs.append(filter)
 11177  
 12201  
 11178 -		self.AttachSpecs(genericSpecs)
 12202 -		self.AttachSpecs(genericSpecs)
 11179 -
 12203 -
 11203 -
 12227 -
 11204 -
 12228 -
 11205  	def GetEvaluator(self, specification, configuration, gathertools=False):
 12229  	def GetEvaluator(self, specification, configuration, gathertools=False):
 11206  		""" this will perform some caching later """
 12230  		""" this will perform some caching later """
 11207 -		return raptor_data.Evaluator(self, specification, configuration, gathertools=gathertools)
 12231 -		return raptor_data.Evaluator(self, specification, configuration, gathertools=gathertools)
       
 12232 +		return raptor_data.Evaluator(specification, configuration, gathertools=gathertools, cache = self.cache)
       
 12233  
       
 12234  
       
 12235 -	def areMakefilesUptodate(self):
       
 12236 -		return False
 11208 -
 12237 -
 11209 -
 12238 -
 11210 -	def areMakefilesUptodate(self):
       
 11211 -		return False
       
 11212 +		return raptor_data.Evaluator(specification, configuration, gathertools=gathertools, cache = self.cache)
       
 11213  
       
 11214  
       
 11215 -	def Make(self, makefile):
 12239 -	def Make(self, makefile):
 11216 -
 12240 -
 11217 -		if self.maker.Make(makefile):
 12241 -		if self.maker.Make(makefile):
 11218 +	def Make(self, makefileset):
 12242 +	def Make(self, makefileset):
 11219 +		if not self.noBuild and makefileset is not None:
 12243 +		if not self.noBuild and makefileset is not None:
 11227 +			self.Info("No build performed")
 12251 +			self.Info("No build performed")
 11228 +
 12252 +
 11229  
 12253  
 11230  
 12254  
 11231  	def Report(self):
 12255  	def Report(self):
 11232 @@ -898,10 +1027,10 @@
 12256 @@ -898,10 +1037,10 @@
 11233  		self.Info("Run time %s seconds" % self.runtime)
 12257  		self.Info("Run time %s seconds" % self.runtime)
 11234  
 12258  
 11235  	def AssertBuildOK(self):
 12259  	def AssertBuildOK(self):
 11236 -		"""Raise a BuildCompleteException if no further processing is required
 12260 -		"""Raise a BuildCompleteException if no further processing is required
 11237 +		"""Raise a BuildCannotProgressException if no further processing is required
 12261 +		"""Raise a BuildCannotProgressException if no further processing is required
 11240 -			raise BuildCompleteException("")
 12264 -			raise BuildCompleteException("")
 11241 +			raise BuildCannotProgressException("")
 12265 +			raise BuildCannotProgressException("")
 11242  
 12266  
 11243  		return True
 12267  		return True
 11244  
 12268  
 11245 @@ -934,17 +1063,17 @@
 12269 @@ -928,23 +1067,23 @@
       
 12270  			self.raptor_params = BuildStats(self)
       
 12271  
       
 12272  			# Open the requested plugins using the pluginbox
       
 12273 -			self.out.open(self.raptor_params, self.filterList.split(','), self.pbox)
       
 12274 +			self.out.open(self.raptor_params, self.filterList, self.pbox)
       
 12275  
       
 12276  			# log header
 11246  			self.out.write("<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n")
 12277  			self.out.write("<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n")
 11247  
 12278  
 11248  			namespace = "http://symbian.com/xml/build/log"
 12279  			namespace = "http://symbian.com/xml/build/log"
 11249 +			progress_namespace = "http://symbian.com/xml/build/log/progress"
 12280 +			progress_namespace = "http://symbian.com/xml/build/log/progress"
 11250  			schema = "http://symbian.com/xml/build/log/1_0.xsd"
 12281  			schema = "http://symbian.com/xml/build/log/1_0.xsd"
 11261  
 12292  
 11262 -
 12293 -
 11263  	def CloseLog(self):
 12294  	def CloseLog(self):
 11264  		if self.logOpen:
 12295  		if self.logOpen:
 11265  			self.out.summary()
 12296  			self.out.summary()
 11266 @@ -976,6 +1105,30 @@
 12297 @@ -976,6 +1115,30 @@
 11267  		self.out.write("<info" + self.attributeString(attributes) + ">" +
 12298  		self.out.write("<info" + self.attributeString(attributes) + ">" +
 11268  		               escape(format % extras) + "</info>\n")
 12299  		               escape(format % extras) + "</info>\n")
 11269  
 12300  
 11270 +	def InfoDiscovery(self, object_type, count):
 12301 +	def InfoDiscovery(self, object_type, count):
 11271 +		if self.timing:
 12302 +		if self.timing:
 11292 +				self.Error(exception.Text, function = "InfoEndTime")
 12323 +				self.Error(exception.Text, function = "InfoEndTime")
 11293 +
 12324 +
 11294  	def Debug(self, format, *extras, **attributes):
 12325  	def Debug(self, format, *extras, **attributes):
 11295  		"Send a debugging message to the configured channel"
 12326  		"Send a debugging message to the configured channel"
 11296  
 12327  
 11297 @@ -1019,28 +1172,11 @@
 12328 @@ -1019,28 +1182,11 @@
 11298  		if format:
 12329  		if format:
 11299  			self.out.write(format % extras)
 12330  			self.out.write(format % extras)
 11300  
 12331  
 11301 -
 12332 -
 11302 -	def MakeComponentGroup(self, cg):
 12333 -	def MakeComponentGroup(self, cg):
 11324 -		componentGroups=[]
 12355 -		componentGroups=[]
 11325 +		layers=[]
 12356 +		layers=[]
 11326  		# Look for bld.infs or sysdefs in the current dir if none were specified
 12357  		# Look for bld.infs or sysdefs in the current dir if none were specified
 11327  		if self.systemDefinitionFile == None and len(self.commandlineComponents) == 0:
 12358  		if self.systemDefinitionFile == None and len(self.commandlineComponents) == 0:
 11328  			if not self.preferBuildInfoToSystemDefinition:
 12359  			if not self.preferBuildInfoToSystemDefinition:
 11329 @@ -1049,38 +1185,39 @@
 12360 @@ -1049,38 +1195,64 @@
 11330  				if self.systemDefinitionFile == None:
 12361  				if self.systemDefinitionFile == None:
 11331  					aComponent = self.FindComponentIn(cwd)
 12362  					aComponent = self.FindComponentIn(cwd)
 11332  					if aComponent:
 12363  					if aComponent:
 11333 -						componentGroups.append(ComponentGroup('default',[aComponent]))
 12364 -						componentGroups.append(ComponentGroup('default',[aComponent]))
 11334 +						layers.append(Layer('default',[aComponent]))
 12365 +						layers.append(Layer('default',[aComponent]))
 11368 +			newcg = Layer("all")
 12399 +			newcg = Layer("all")
 11369 +			for cg in layers:
 12400 +			for cg in layers:
 11370 +				for c in cg:
 12401 +				for c in cg:
 11371 +					newcg.add(c)
 12402 +					newcg.add(c)
 11372 +			layers = [newcg]
 12403 +			layers = [newcg]
       
 12404 +
       
 12405 +		return layers
       
 12406 +
       
 12407 +	def Query(self):
       
 12408 +		"process command-line queries."
 11373  
 12409  
 11374 -		return componentGroups
 12410 -		return componentGroups
 11375 +		return layers
 12411 +		if self.mission != Raptor.M_QUERY:
       
 12412 +			return 0
       
 12413 +		
       
 12414 +		# establish an object cache based on the current settings
       
 12415 +		self.LoadCache()
       
 12416 +			
       
 12417 +		# our "self" is a valid object for initialising an API Context
       
 12418 +		import raptor_api
       
 12419 +		api = raptor_api.Context(self)
       
 12420 +		
       
 12421 +		print "<sbs version='%s'>" % raptor_version.numericversion()
       
 12422 +		
       
 12423 +		for q in self.queries:
       
 12424 +			try:
       
 12425 +				print api.stringquery(q)
       
 12426 +				
       
 12427 +			except Exception, e:
       
 12428 +				self.Error("exception '%s' with query '%s'", str(e), q)
       
 12429 +		
       
 12430 +		print "</sbs>"	
       
 12431 +		return self.errorCode
 11376  
 12432  
 11377  	def Build(self):
 12433  	def Build(self):
 11378  
 12434  
 11379 @@ -1102,20 +1239,24 @@
 12435 @@ -1102,20 +1274,24 @@
 11380  
 12436  
 11381  			# find out what configurations to build
 12437  			# find out what configurations to build
 11382  			self.AssertBuildOK()
 12438  			self.AssertBuildOK()
 11383 -			buildUnitsToBuild = set()
 12439 -			buildUnitsToBuild = set()
 11384  			buildUnitsToBuild = self.GetBuildUnitsToBuild(self.configNames)
 12440  			buildUnitsToBuild = self.GetBuildUnitsToBuild(self.configNames)
 11404 -				raise BuildCompleteException("No components to build.")
 12460 -				raise BuildCompleteException("No components to build.")
 11405 +				raise BuildCannotProgressException("No components to build.")
 12461 +				raise BuildCannotProgressException("No components to build.")
 11406  
 12462  
 11407  			# check the configurations (tools versions)
 12463  			# check the configurations (tools versions)
 11408  			self.AssertBuildOK()
 12464  			self.AssertBuildOK()
 11409 @@ -1123,35 +1264,36 @@
 12465 @@ -1123,35 +1299,36 @@
 11410  			if self.toolcheck != 'off':
 12466  			if self.toolcheck != 'off':
 11411  				self.CheckConfigs(buildUnitsToBuild)
 12467  				self.CheckConfigs(buildUnitsToBuild)
 11412  			else:
 12468  			else:
 11413 -				self.Info(" Not Checking Tool Versions")
 12469 -				self.Info(" Not Checking Tool Versions")
 11414 +				self.Info("Not Checking Tool Versions")
 12470 +				self.Info("Not Checking Tool Versions")
 11419 +			if not self.maker:
 12475 +			if not self.maker:
 11420 +				try:
 12476 +				try:
 11421 +					self.maker = raptor_make.MakeEngine(self, self.makeEngine)
 12477 +					self.maker = raptor_make.MakeEngine(self, self.makeEngine)
 11422 +				except raptor_make.BadMakeEngineException,e:
 12478 +				except raptor_make.BadMakeEngineException,e:
 11423 +					self.Error("Unable to use make engine: %s " % str(e))
 12479 +					self.Error("Unable to use make engine: %s " % str(e))
       
 12480 +					
 11424  
 12481  
 11425 -			# if self.doParallelParsing and not (len(componentGroups) == 1 and len(componentGroups[0]) == 1):
 12482 -			# if self.doParallelParsing and not (len(componentGroups) == 1 and len(componentGroups[0]) == 1):
 11426 +
       
 11427 +			self.AssertBuildOK()
 12483 +			self.AssertBuildOK()
 11428 +
 12484 +
 11429 +			# if self.doParallelParsing and not (len(layers) == 1 and len(layers[0]) == 1):
 12485 +			# if self.doParallelParsing and not (len(layers) == 1 and len(layers[0]) == 1):
 11430  			if self.doParallelParsing:
 12486  			if self.doParallelParsing:
 11431  				# Create a Makefile to parse components in parallel and build them
 12487  				# Create a Makefile to parse components in parallel and build them
 11447 -				for cg in componentGroups:
 12503 -				for cg in componentGroups:
 11448 +				for l in layers:
 12504 +				for l in layers:
 11449  					# create specs for a specific group of components
 12505  					# create specs for a specific group of components
 11450 -					cg.GenerateSpecs(generic_specs, buildUnitsToBuild)
 12506 -					cg.GenerateSpecs(generic_specs, buildUnitsToBuild)
 11451 -					self.WriteMetadataDepsMakefile(cg)	
 12507 -					self.WriteMetadataDepsMakefile(cg)	
 11452 +					l.realise(self)
 12508 -					
 11453  					
       
 11454 -					# generate the makefiles for one group of specs
 12509 -					# generate the makefiles for one group of specs
 11455 -					self.MakeComponentGroup(cg)
 12510 -					self.MakeComponentGroup(cg)
 11456 -
 12511 +					l.realise(self)
       
 12512  
 11457 -		except BuildCompleteException,b:
 12513 -		except BuildCompleteException,b:
 11458 +		except BuildCannotProgressException,b:
 12514 +		except BuildCannotProgressException,b:
 11459  			if str(b) != "":
 12515  			if str(b) != "":
 11460  				self.Info(str(b))
 12516  				self.Info(str(b))
 11461  
 12517  
 11462 @@ -1185,6 +1327,8 @@
 12518 @@ -1176,15 +1353,29 @@
       
 12519  		build.ConfigFile()
       
 12520  		build.ProcessConfig()
       
 12521  		build.CommandLine(argv)
       
 12522 +		build.ParseCommandLineTargets()
       
 12523  
       
 12524  		return build 
       
 12525  
       
 12526 +	@classmethod
       
 12527 +	def CreateCommandlineAnalysis(cls, argv):
       
 12528 +		""" Perform an analysis run where a build is not performed. """
       
 12529 +		build = Raptor()
       
 12530 +		build.AssertBuildOK()
       
 12531 +		build.ConfigFile()
       
 12532 +		build.ProcessConfig()
       
 12533 +		build.CommandLine(argv)
       
 12534 +		# Don't parse command line targets - they don't make any sense if you're not doing a build
       
 12535 +
       
 12536 +		return build
       
 12537  
       
 12538  
       
 12539  # Class for passing constricted parameters to filters
 11463  class BuildStats(object):
 12540  class BuildStats(object):
 11464  
 12541  
 11465  	def __init__(self, raptor_instance):
 12542  	def __init__(self, raptor_instance):
 11466 +		self.incoming_epocroot = incoming_epocroot
 12543 +		self.incoming_epocroot = incoming_epocroot
 11467 +		self.epocroot = epocroot
 12544 +		self.epocroot = epocroot
 11468  		self.logFileName = raptor_instance.logFileName
 12545  		self.logFileName = raptor_instance.logFileName
 11469  		self.quiet = raptor_instance.quiet
 12546  		self.quiet = raptor_instance.quiet
 11470  		self.doCheck = raptor_instance.doCheck
 12547  		self.doCheck = raptor_instance.doCheck
 11471 @@ -1212,17 +1356,7 @@
 12548 @@ -1212,17 +1403,10 @@
 11472  	# object which represents a build
 12549  	# object which represents a build
 11473  	b = Raptor.CreateCommandlineBuild(argv)
 12550  	b = Raptor.CreateCommandlineBuild(argv)
 11474  
 12551  
 11475 -	# allow all objects to log to the
 12552 -	# allow all objects to log to the
 11476 -	# build they're being used in
 12553 -	# build they're being used in
 11477 -	global build
 12554 -	global build
 11478 -	global log
 12555 -	global log
 11479 -	build = b
 12556 -	build = b
 11480 -	log = b
 12557 -	log = b
 11481 -
 12558 -
 11482 -
 12559 +	if b.mission == Raptor.M_QUERY:
       
 12560 +		return b.Query()
       
 12561  
 11483 -	result = b.Build()
 12562 -	result = b.Build()
 11484 -
 12563 -
 11485 -	return result
 12564 -	return result
 11486 +	return b.Build()
 12565 +	return b.Build()
 11487  
 12566  
 11488  
 12567  
 11489  def DisplayBanner():
 12568  def DisplayBanner():
 11490 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python: raptor_timing.py
 12569 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python: raptor_timing.py
       
 12570 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_utilities.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_utilities.py
       
 12571 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_utilities.py	2010-05-18 19:32:34.793348934 +0100
       
 12572 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_utilities.py	2010-06-04 12:09:25.039849000 +0100
       
 12573 @@ -1,5 +1,5 @@
       
 12574  #
       
 12575 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
       
 12576 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
       
 12577  # All rights reserved.
       
 12578  # This component and the accompanying materials are made available
       
 12579  # under the terms of the License "Eclipse Public License v1.0"
       
 12580 @@ -20,6 +20,8 @@
       
 12581  import os.path
       
 12582  import re
       
 12583  import sys
       
 12584 +import stat
       
 12585 +import shutil
       
 12586  
       
 12587  dosSlashRegEx = re.compile(r'\\')
       
 12588  unixSlashRegEx = re.compile(r'/')
       
 12589 @@ -189,3 +191,50 @@
       
 12590  		return
       
 12591  
       
 12592  nulllog = NullLog()
       
 12593 +
       
 12594 +def copyfile(_source, _destination):
       
 12595 +	"""Copy the source file to the destination file (create a directory
       
 12596 +	   to copy into if it does not exist). Don't copy if the destination
       
 12597 +	   file exists and has an equal or newer modification time."""
       
 12598 +	source = generic_path.Path(str(_source).replace('%20',' '))
       
 12599 +	destination = generic_path.Path(str(_destination).replace('%20',' '))
       
 12600 +	dest_str = str(destination)
       
 12601 +	source_str = str(source)
       
 12602 +
       
 12603 +	try:
       
 12604 +
       
 12605 +
       
 12606 +		destDir = destination.Dir()
       
 12607 +		if not destDir.isDir():
       
 12608 +			os.makedirs(str(destDir))
       
 12609 +			shutil.copyfile(source_str, dest_str)
       
 12610 +			return 
       
 12611 +		# Destination file exists so we have to think about updating it
       
 12612 +		sourceMTime = 0
       
 12613 +		destMTime = 0
       
 12614 +		sourceStat = 0
       
 12615 +		try:
       
 12616 +			sourceStat = os.stat(source_str)
       
 12617 +			sourceMTime = sourceStat[stat.ST_MTIME]
       
 12618 +		except OSError, e:
       
 12619 +			message = "Source of copyfile does not exist:  " + str(source)
       
 12620 +			raise IOError(message)
       
 12621 +		try:
       
 12622 +			destMTime = os.stat(dest_str)[stat.ST_MTIME]
       
 12623 +		except OSError, e:
       
 12624 +			pass # destination doesn't have to exist
       
 12625 +
       
 12626 +		if destMTime == 0 or destMTime < sourceMTime:
       
 12627 +			if os.path.exists(dest_str):
       
 12628 +				os.chmod(dest_str,stat.S_IREAD | stat.S_IWRITE)
       
 12629 +			shutil.copyfile(source_str, dest_str)
       
 12630 +
       
 12631 +			# Ensure that the destination file remains executable if the source was also:
       
 12632 +			os.chmod(dest_str,sourceStat[stat.ST_MODE] | stat.S_IREAD | stat.S_IWRITE | stat.S_IWGRP ) 
       
 12633 +
       
 12634 +
       
 12635 +	except Exception,e:
       
 12636 +		message = "Could not update " + dest_str + " from " + source_str + " : " + str(e)
       
 12637 +		raise IOError(message)
       
 12638 +
       
 12639 +	return 
 11491 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_version.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_version.py
 12640 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_version.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_version.py
 11492 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_version.py	2010-05-18 19:32:34.793348934 +0100
 12641 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_version.py	2010-05-18 19:32:34.793348934 +0100
 11493 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_version.py	2010-05-17 18:47:53.100842000 +0100
 12642 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_version.py	2010-06-04 12:09:25.039849000 +0100
 11494 @@ -1,5 +1,5 @@
 12643 @@ -1,5 +1,5 @@
 11495  #
 12644  #
 11496 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
 12645 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
 11497 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 12646 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 11498  # All rights reserved.
 12647  # All rights reserved.
 11505 -#
 12654 -#
 11506  
 12655  
 11507 -def Version():
 12656 -def Version():
 11508 +# replace CHANGESET with the Hg changeset for ANY release
 12657 +# replace CHANGESET with the Hg changeset for ANY release
 11509 +
 12658 +
 11510 +version=(2,13,0,"2010-04-12","symbian build system","CHANGESET")
 12659 +version=(2,14,1,"2010-06-03","symbian build system","CHANGESET")
 11511 +
 12660 +
 11512 +def numericversion():
 12661 +def numericversion():
 11513 +	"""Raptor version string"""
 12662 +	"""Raptor version string"""
 11514 +	return "%d.%d.%d" % version[:3]
 12663 +	return "%d.%d.%d" % version[:3]
 11515 +
 12664 +
 11518 -	return "2.10.1 [2009-10-27 sf prerelease]"
 12667 -	return "2.10.1 [2009-10-27 sf prerelease]"
 11519 +	return "%d.%d.%d [%s %s %s]" % version
 12668 +	return "%d.%d.%d [%s %s %s]" % version
 11520 Only in /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python: raptor_version.py.bak
 12669 Only in /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python: raptor_version.py.bak
 11521 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_xml.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_xml.py
 12670 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_xml.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_xml.py
 11522 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_xml.py	2010-05-18 19:32:34.793348934 +0100
 12671 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor_xml.py	2010-05-18 19:32:34.793348934 +0100
 11523 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_xml.py	2010-05-17 18:47:53.100842000 +0100
 12672 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_xml.py	2010-06-04 12:09:25.039849000 +0100
 11524 @@ -1,5 +1,5 @@
 12673 @@ -1,5 +1,5 @@
 11525  #
 12674  #
 11526 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
 12675 -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
 11527 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 12676 +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
 11528  # All rights reserved.
 12677  # All rights reserved.
 11552 +		return self.__LayerName
 12701 +		return self.__LayerName
 11553 +
 12702 +
 11554  	def GetContainerName(self, aContainerType):
 12703  	def GetContainerName(self, aContainerType):
 11555  		if self.__ContainerNames.has_key(aContainerType):
 12704  		if self.__ContainerNames.has_key(aContainerType):
 11556  		  return self.__ContainerNames[aContainerType]
 12705  		  return self.__ContainerNames[aContainerType]
 11557 @@ -174,6 +178,7 @@
 12706 @@ -174,10 +178,12 @@
 11558  		self.__SystemDefinitionFile = aSystemDefinitionFile.GetLocalString()
 12707  		self.__SystemDefinitionFile = aSystemDefinitionFile.GetLocalString()
 11559  		self.__SystemDefinitionBase = aSystemDefinitionBase.GetLocalString()
 12708  		self.__SystemDefinitionBase = aSystemDefinitionBase.GetLocalString()
 11560  		self.__Version = {'MAJOR':0,'MID':0,'MINOR':0}
 12709  		self.__Version = {'MAJOR':0,'MID':0,'MINOR':0}
 11561 +		self.__IdAttribute = "name"
 12710 +		self.__IdAttribute = "name"
 11562  		self.__ComponentRoot = ""
 12711  		self.__ComponentRoot = ""
 11563  		self.__TotalComponents = 0
 12712  		self.__TotalComponents = 0
 11564  		self.__LayerList = []
 12713  		self.__LayerList = []
 11565 @@ -222,6 +227,10 @@
 12714  		self.__LayerDetails = {}
       
 12715 +		self.__MissingBldInfs = {}
       
 12716  
       
 12717  		self.__DOM = None
       
 12718  		self.__SystemDefinitionElement = None
       
 12719 @@ -203,6 +209,11 @@
       
 12720  		return self.__LayerDetails[aLayer]
       
 12721  
       
 12722  	def IsLayerBuildable(self, aLayer):
       
 12723 +		if aLayer in self.__MissingBldInfs:
       
 12724 +			for missingbldinf in self.__MissingBldInfs[aLayer]:
       
 12725 +				self.__Logger.Error("System Definition layer \"%s\" from system definition file \"%s\" " + \
       
 12726 +								    "refers to non existent bld.inf file %s", aLayer, self.__SystemDefinitionFile, missingbldinf)
       
 12727 +
       
 12728  		if len(self.GetLayerComponents(aLayer)):
       
 12729  			return True
       
 12730  		return False
       
 12731 @@ -222,6 +234,10 @@
 11566  	def DumpInfo(self):
 12732  	def DumpInfo(self):
 11567  		self.__Logger.Info("Found %d bld.inf references in %s within %d layers:", len(self.GetAllComponents()), self.__SystemDefinitionFile, len(self.GetLayerNames()))
 12733  		self.__Logger.Info("Found %d bld.inf references in %s within %d layers:", len(self.GetAllComponents()), self.__SystemDefinitionFile, len(self.GetLayerNames()))
 11568  		self.__Logger.Info("\t%s", ", ".join(self.GetLayerNames()))
 12734  		self.__Logger.Info("\t%s", ", ".join(self.GetLayerNames()))
 11569 +		self.__Logger.InfoDiscovery(object_type = "layers",
 12735 +		self.__Logger.InfoDiscovery(object_type = "layers",
 11570 +				count = len(self.GetLayerNames()))
 12736 +				count = len(self.GetLayerNames()))
 11571 +		self.__Logger.InfoDiscovery(object_type = "bld.inf references",
 12737 +		self.__Logger.InfoDiscovery(object_type = "bld.inf references",
 11572 +				count = len(self.GetAllComponents()))
 12738 +				count = len(self.GetAllComponents()))
 11573  
 12739  
 11574  	def __Read(self):
 12740  	def __Read(self):
 11575  		if not os.path.exists(self.__SystemDefinitionFile):
 12741  		if not os.path.exists(self.__SystemDefinitionFile):
 11576 @@ -259,42 +268,62 @@
 12742 @@ -259,42 +275,62 @@
 11577  
 12743  
 11578  		if self.__Version['MAJOR'] == 1 and self.__Version['MID'] > 2:
 12744  		if self.__Version['MAJOR'] == 1 and self.__Version['MID'] > 2:
 11579  			self.__ComponentRoot = self.__SystemDefinitionBase
 12745  			self.__ComponentRoot = self.__SystemDefinitionBase
 11580 -		elif self.__Version['MAJOR'] == 2:
 12746 -		elif self.__Version['MAJOR'] == 2:
 11581 -			# 2.0.0 format supports SOURCEROOT as an environment specified base - we respect this, unless
 12747 -			# 2.0.0 format supports SOURCEROOT as an environment specified base - we respect this, unless
 11585 -			if os.environ.has_key('SOURCEROOT'):
 12751 -			if os.environ.has_key('SOURCEROOT'):
 11586 +			if os.environ.has_key('SRCROOT'):
 12752 +			if os.environ.has_key('SRCROOT'):
 11587 +				self.__ComponentRoot = generic_path.Path(os.environ['SRCROOT'])
 12753 +				self.__ComponentRoot = generic_path.Path(os.environ['SRCROOT'])
 11588 +			elif os.environ.has_key('SOURCEROOT'):
 12754 +			elif os.environ.has_key('SOURCEROOT'):
 11589  				self.__ComponentRoot = generic_path.Path(os.environ['SOURCEROOT'])
 12755  				self.__ComponentRoot = generic_path.Path(os.environ['SOURCEROOT'])
 11590 +				
 12756 +
 11591  			if self.__SystemDefinitionBase and self.__SystemDefinitionBase != ".":
 12757  			if self.__SystemDefinitionBase and self.__SystemDefinitionBase != ".":
 11592  				self.__ComponentRoot = self.__SystemDefinitionBase
 12758  				self.__ComponentRoot = self.__SystemDefinitionBase
 11593 -				if os.environ.has_key('SOURCEROOT'):
 12759 -				if os.environ.has_key('SOURCEROOT'):
 11594 +				if os.environ.has_key('SRCROOT'):
 12760 +				if os.environ.has_key('SRCROOT'):
 11595 +					self.__Logger.Info("Command line specified System Definition file base \'%s\' overriding environment SRCROOT \'%s\'", self.__SystemDefinitionBase, os.environ['SRCROOT'])
 12761 +					self.__Logger.Info("Command line specified System Definition file base \'%s\' overriding environment SRCROOT \'%s\'", self.__SystemDefinitionBase, os.environ['SRCROOT'])
 11642 -			name = parent.getAttribute("name")
 12808 -			name = parent.getAttribute("name")
 11643 +			name = parent.getAttribute(self.__IdAttribute)
 12809 +			name = parent.getAttribute(self.__IdAttribute)
 11644  
 12810  
 11645  			if name:
 12811  			if name:
 11646  				aContainers[parent.tagName] = name
 12812  				aContainers[parent.tagName] = name
 11647 @@ -305,8 +334,9 @@
 12813 @@ -305,8 +341,9 @@
 11648  		"""Search for XML <unit/> elements with 'bldFile' attributes and resolve concrete bld.inf locations
 12814  		"""Search for XML <unit/> elements with 'bldFile' attributes and resolve concrete bld.inf locations
 11649  		with an appreciation of different schema versions."""
 12815  		with an appreciation of different schema versions."""
 11650  
 12816  
 11651 -		if aElement.tagName == "layer":
 12817 -		if aElement.tagName == "layer":
 11652 -			currentLayer = aElement.getAttribute("name")
 12818 -			currentLayer = aElement.getAttribute("name")
 11654 +		if not aElement.parentNode.hasAttribute(self.__IdAttribute) :
 12820 +		if not aElement.parentNode.hasAttribute(self.__IdAttribute) :
 11655 +			currentLayer = aElement.getAttribute(self.__IdAttribute)
 12821 +			currentLayer = aElement.getAttribute(self.__IdAttribute)
 11656  
 12822  
 11657  			if not self.__LayerDetails.has_key(currentLayer):
 12823  			if not self.__LayerDetails.has_key(currentLayer):
 11658  				self.__LayerDetails[currentLayer] = []
 12824  				self.__LayerDetails[currentLayer] = []
 11659 @@ -320,10 +350,10 @@
 12825 @@ -320,10 +357,10 @@
 11660  			if bldFileValue:
 12826  			if bldFileValue:
 11661  				bldInfRoot = self.__ComponentRoot
 12827  				bldInfRoot = self.__ComponentRoot
 11662  
 12828  
 11663 -				if self.__Version['MAJOR'] == 1 and self.__Version['MID'] == 4:
 12829 -				if self.__Version['MAJOR'] == 1 and self.__Version['MID'] == 4:
 11664 -					# version 1.4.x schema paths can use DOS slashes
 12830 -					# version 1.4.x schema paths can use DOS slashes
 11668 -				elif self.__Version['MAJOR'] == 2:
 12834 -				elif self.__Version['MAJOR'] == 2:
 11669 +				elif self.__Version['MAJOR'] >= 2:
 12835 +				elif self.__Version['MAJOR'] >= 2:
 11670  					# version 2.x.x schema paths are subject to a "root" attribute off-set, if it exists
 12836  					# version 2.x.x schema paths are subject to a "root" attribute off-set, if it exists
 11671  					rootValue = aElement.getAttribute("root")
 12837  					rootValue = aElement.getAttribute("root")
 11672  
 12838  
 11673 @@ -338,8 +368,14 @@
 12839 @@ -338,16 +375,29 @@
 11674  
 12840  
 11675  				group = generic_path.Path(bldFileValue)
 12841  				group = generic_path.Path(bldFileValue)
 11676  
 12842  
 11677 +				if self.__Version['MAJOR'] < 3:
 12843 +				if self.__Version['MAJOR'] < 3:
 11678 +					# absolute paths are not changed by root var in 1.x and 2.x
 12844 +					# absolute paths are not changed by root var in 1.x and 2.x
 11683 +					if group.isAbsolute() and bldInfRoot:
 12849 +					if group.isAbsolute() and bldInfRoot:
 11684 +						group = generic_path.Join(bldInfRoot, group)
 12850 +						group = generic_path.Join(bldInfRoot, group)
 11685  
 12851  
 11686  				bldinf = generic_path.Join(group, "bld.inf").FindCaseless()
 12852  				bldinf = generic_path.Join(group, "bld.inf").FindCaseless()
 11687  
 12853  
 11688 @@ -347,7 +383,7 @@
 12854  				if bldinf == None:
 11689  					self.__Logger.Error("No bld.inf found at %s in %s", group.GetLocalString(), self.__SystemDefinitionFile)
 12855 -					self.__Logger.Error("No bld.inf found at %s in %s", group.GetLocalString(), self.__SystemDefinitionFile)
       
 12856 +					# recording layers containing non existent bld.infs
       
 12857 +					bldinfname = group.GetLocalString()
       
 12858 +					bldinfname = bldinfname + 'bld.inf'
       
 12859 +					layer = self.__GetEffectiveLayer(aElement)
       
 12860 +					if not layer in self.__MissingBldInfs:
       
 12861 +						self.__MissingBldInfs[layer]=[]
       
 12862 +					self.__MissingBldInfs[layer].append(bldinfname)
       
 12863 +
 11690  				else:
 12864  				else:
 11691  					component = self.__CreateComponent(bldinf, aElement)
 12865  					component = self.__CreateComponent(bldinf, aElement)
 11692 -					layer = component.GetContainerName("layer")
 12866 -					layer = component.GetContainerName("layer")
 11693 +					layer = component.GetLayerName()
 12867 +					layer = component.GetLayerName()
 11694  					if layer:
 12868  					if layer:
 11695  						self.__LayerDetails[layer].append(component)
 12869  						self.__LayerDetails[layer].append(component)
 11696  						self.__TotalComponents += 1
 12870  						self.__TotalComponents += 1
 11697 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor: RELEASE-NOTES.html
 12871 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor: RELEASE-NOTES.html
 11698 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/schema/build/log/1_0.xsd /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/schema/build/log/1_0.xsd
 12872 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/schema/build/log/1_0.xsd /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/schema/build/log/1_0.xsd
 11699 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/schema/build/log/1_0.xsd	2010-05-18 19:32:34.797348465 +0100
 12873 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/schema/build/log/1_0.xsd	2010-05-18 19:32:34.797348465 +0100
 11700 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/schema/build/log/1_0.xsd	2010-05-17 18:47:53.100842000 +0100
 12874 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/schema/build/log/1_0.xsd	2010-06-04 12:09:25.043850000 +0100
 11701 @@ -3,7 +3,7 @@
 12875 @@ -3,7 +3,7 @@
 11702  
 12876  
 11703  	<xsd:annotation>
 12877  	<xsd:annotation>
 11704  		<xsd:documentation xml:lang="en">
 12878  		<xsd:documentation xml:lang="en">
 11705 -			Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
 12879 -			Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
 11719  		</xsd:sequence>
 12893  		</xsd:sequence>
 11720 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor: test
 12894 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor: test
 11721 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util: build
 12895 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util: build
 11722 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/config.h /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/config.h
 12896 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/config.h /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/config.h
 11723 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/config.h	2010-05-18 19:32:34.797348465 +0100
 12897 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/config.h	2010-05-18 19:32:34.797348465 +0100
 11724 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/config.h	2010-05-17 18:47:53.584842000 +0100
 12898 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/config.h	2010-06-04 12:09:25.536350000 +0100
 11725 @@ -1,5 +1,5 @@
 12899 @@ -1,5 +1,5 @@
 11726  /*
 12900  /*
 11727 -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 12901 -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 11728 +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 12902 +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 11729  * All rights reserved.
 12903  * All rights reserved.
 11737  #else
 12911  #else
 11738  #define HAS_POLL 1
 12912  #define HAS_POLL 1
 11739  #define HAS_SETENV 1
 12913  #define HAS_SETENV 1
 11740 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/gccprogram.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/gccprogram.mk
 12914 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/gccprogram.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/gccprogram.mk
 11741 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/gccprogram.mk	2010-05-18 19:32:35.141349393 +0100
 12915 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/gccprogram.mk	2010-05-18 19:32:35.141349393 +0100
 11742 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/gccprogram.mk	2010-05-17 18:47:53.976844000 +0100
 12916 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/gccprogram.mk	2010-06-04 12:09:28.348350000 +0100
 11743 @@ -1,5 +1,5 @@
 12917 @@ -1,5 +1,5 @@
 11744  #
 12918  #
 11745 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
 12919 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
 11746 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 12920 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 11747  # All rights reserved.
 12921  # All rights reserved.
 11756  	
 12930  	
 11757  $$(shell mkdir -p $(OUTPUTPATH)/$(TARGET))
 12931  $$(shell mkdir -p $(OUTPUTPATH)/$(TARGET))
 11758  
 12932  
 11759 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/install-linux/package_sbs.sh /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/install-linux/package_sbs.sh
 12933 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/install-linux/package_sbs.sh /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/install-linux/package_sbs.sh
 11760 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/install-linux/package_sbs.sh	2010-05-18 19:32:35.141349393 +0100
 12934 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/install-linux/package_sbs.sh	2010-05-18 19:32:35.141349393 +0100
 11761 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/install-linux/package_sbs.sh	2010-05-17 18:47:53.984845000 +0100
 12935 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/install-linux/package_sbs.sh	2010-06-04 12:09:28.348350000 +0100
 11762 @@ -1,6 +1,6 @@
 12936 @@ -1,6 +1,6 @@
 11763  #!/bin/bash
 12937  #!/bin/bash
 11764  
 12938  
 11765 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
 12939 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
 11766 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 12940 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 11776  	grep -v "$TMPSBS"'/python/\.py$' |
 12950  	grep -v "$TMPSBS"'/python/\.py$' |
 11777  	grep -v 'flm/test'  |
 12951  	grep -v 'flm/test'  |
 11778  	grep -v 'util/build'  | 
 12952  	grep -v 'util/build'  | 
 11779 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/install-windows/raptorinstallermaker.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/install-windows/raptorinstallermaker.py
 12953 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/install-windows/raptorinstallermaker.py /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/install-windows/raptorinstallermaker.py
 11780 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/install-windows/raptorinstallermaker.py	2010-05-18 19:32:35.169348622 +0100
 12954 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/install-windows/raptorinstallermaker.py	2010-05-18 19:32:35.169348622 +0100
 11781 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/install-windows/raptorinstallermaker.py	2010-05-17 18:47:54.040845000 +0100
 12955 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/install-windows/raptorinstallermaker.py	2010-06-04 12:09:28.376350000 +0100
 11782 @@ -1,5 +1,5 @@
 12956 @@ -1,5 +1,5 @@
 11783  #
 12957  #
 11784 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 12958 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 11785 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 12959 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 11786  # All rights reserved.
 12960  # All rights reserved.
 11941  print "nsiscommand = %s" % nsiscommand
 13115  print "nsiscommand = %s" % nsiscommand
 11942  runmakensis(nsiscommand)
 13116  runmakensis(nsiscommand)
 11943  cleanup()
 13117  cleanup()
 11944 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/install-windows/raptorinstallerscript.nsi /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/install-windows/raptorinstallerscript.nsi
 13118 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/install-windows/raptorinstallerscript.nsi /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/install-windows/raptorinstallerscript.nsi
 11945 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/install-windows/raptorinstallerscript.nsi	2010-05-18 19:32:35.169348622 +0100
 13119 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/install-windows/raptorinstallerscript.nsi	2010-05-18 19:32:35.169348622 +0100
 11946 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/install-windows/raptorinstallerscript.nsi	2010-05-17 18:47:54.040845000 +0100
 13120 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/install-windows/raptorinstallerscript.nsi	2010-06-04 12:09:28.376350000 +0100
 11947 @@ -1,4 +1,4 @@
 13121 @@ -1,4 +1,4 @@
 11948 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 13122 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 11949 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 13123 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 11950  # All rights reserved.
 13124  # All rights reserved.
 11951  # This component and the accompanying materials are made available
 13125  # This component and the accompanying materials are made available
 12031      
 13205      
 12032 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon: chomp.c
 13206 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon: chomp.c
 12033 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon: chomp.h
 13207 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon: chomp.h
 12034 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/lock.c /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/lock.c
 13208 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/lock.c /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/lock.c
 12035 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/lock.c	2010-05-18 19:32:35.173348431 +0100
 13209 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/lock.c	2010-05-18 19:32:35.173348431 +0100
 12036 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/lock.c	2010-05-17 18:47:54.048842000 +0100
 13210 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/lock.c	2010-06-04 12:09:28.380350000 +0100
 12037 @@ -12,7 +12,7 @@
 13211 @@ -12,7 +12,7 @@
 12038  * Contributors:
 13212  * Contributors:
 12039  *
 13213  *
 12040  * Description: 
 13214  * Description: 
 12041 -*
 13215 -*
 12043  */
 13217  */
 12044  
 13218  
 12045  
 13219  
 12046 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/Makefile /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/Makefile
 13220 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/Makefile /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/Makefile
 12047 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/Makefile	2010-05-18 19:32:35.173348431 +0100
 13221 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/Makefile	2010-05-18 19:32:35.173348431 +0100
 12048 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/Makefile	2010-05-17 18:47:54.044845000 +0100
 13222 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/Makefile	2010-06-04 12:09:28.380350000 +0100
 12049 @@ -1,4 +1,4 @@
 13223 @@ -1,4 +1,4 @@
 12050 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
 13224 -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
 12051 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 13225 +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 12052  # All rights reserved.
 13226  # All rights reserved.
 12053  # This component and the accompanying materials are made available
 13227  # This component and the accompanying materials are made available
 12088 +SOURCES:=$(addprefix $(SOURCEDIR)/,testchomp.c chomp.c log.c)
 13262 +SOURCES:=$(addprefix $(SOURCEDIR)/,testchomp.c chomp.c log.c)
 12089 +$(eval $(cprogram))
 13263 +$(eval $(cprogram))
 12090 +
 13264 +
 12091 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/process.c /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/process.c
 13265 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/process.c /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/process.c
 12092 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/process.c	2010-05-18 19:32:35.173348431 +0100
 13266 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/process.c	2010-05-18 19:32:35.173348431 +0100
 12093 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/process.c	2010-05-17 18:47:54.048842000 +0100
 13267 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/process.c	2010-06-04 12:09:28.384350000 +0100
 12094 @@ -1,5 +1,5 @@
 13268 @@ -1,5 +1,5 @@
 12095  /*
 13269  /*
 12096 -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 13270 -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 12097 +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 13271 +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 12098  * All rights reserved.
 13272  * All rights reserved.
 12114  		DEBUG(("process terminated \n"));
 13288  		DEBUG(("process terminated \n"));
 12115  	}
 13289  	}
 12116  	
 13290  	
 12117 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/talon.c /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/talon.c
 13291 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/talon.c /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/talon.c
 12118 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/talon.c	2010-05-18 19:32:35.173348431 +0100
 13292 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/talon.c	2010-05-18 19:32:35.173348431 +0100
 12119 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/talon.c	2010-05-17 18:47:54.048842000 +0100
 13293 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/talon.c	2010-06-04 12:09:28.384350000 +0100
 12120 @@ -1,5 +1,5 @@
 13294 @@ -1,5 +1,5 @@
 12121  /*
 13295  /*
 12122 -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 13296 -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 12123 +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 13297 +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 12124  * All rights reserved.
 13298  * All rights reserved.
 12260  				}
 13434  				}
 12261  				status[STATUS_STRMAX-1] = '\0';
 13435  				status[STATUS_STRMAX-1] = '\0';
 12262  	
 13436  	
 12263 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/testbuffer.c /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/testbuffer.c
 13437 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/testbuffer.c /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/testbuffer.c
 12264 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/testbuffer.c	2010-05-18 19:32:35.173348431 +0100
 13438 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/testbuffer.c	2010-05-18 19:32:35.173348431 +0100
 12265 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/testbuffer.c	2010-05-17 18:47:54.052842000 +0100
 13439 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/testbuffer.c	2010-06-04 12:09:28.384350000 +0100
 12266 @@ -1,5 +1,5 @@
 13440 @@ -1,5 +1,5 @@
 12267  /*
 13441  /*
 12268 -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 13442 -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 12269 +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 13443 +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 12270  * All rights reserved.
 13444  * All rights reserved.
 12283  
 13457  
 12284  
 13458  
 12285 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon: testchomp.c
 13459 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon: testchomp.c
 12286 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/testprocess.c /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/testprocess.c
 13460 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/testprocess.c /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/testprocess.c
 12287 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/testprocess.c	2010-05-18 19:32:35.177348591 +0100
 13461 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/testprocess.c	2010-05-18 19:32:35.177348591 +0100
 12288 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/testprocess.c	2010-05-17 18:47:54.052842000 +0100
 13462 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/testprocess.c	2010-06-04 12:09:28.388350000 +0100
 12289 @@ -1,5 +1,5 @@
 13463 @@ -1,5 +1,5 @@
 12290  /*
 13464  /*
 12291 -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 13465 -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 12292 +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 13466 +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 12293  * All rights reserved.
 13467  * All rights reserved.
 12308  
 13482  
 12309 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests: config.sh
 13483 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests: config.sh
 12310 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests: run.sh
 13484 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests: run.sh
 12311 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t3.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t3.mk
 13485 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t3.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t3.mk
 12312 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t3.mk	2010-05-18 19:32:35.177348591 +0100
 13486 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t3.mk	2010-05-18 19:32:35.177348591 +0100
 12313 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t3.mk	2010-05-17 18:47:54.052842000 +0100
 13487 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t3.mk	2010-06-04 12:09:28.388350000 +0100
 12314 @@ -1,5 +1,5 @@
 13488 @@ -1,5 +1,5 @@
 12315  #
 13489  #
 12316 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 13490 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 12317 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 13491 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 12318  # All rights reserved.
 13492  # All rights reserved.
 12328  TALON_RECIPEATTRIBUTES:=name='$$RECIPENAME' host='$$HOSTNAME'
 13502  TALON_RECIPEATTRIBUTES:=name='$$RECIPENAME' host='$$HOSTNAME'
 12329  export TALON_RECIPEATTRIBUTES
 13503  export TALON_RECIPEATTRIBUTES
 12330  
 13504  
 12331 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t4.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t4.mk
 13505 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t4.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t4.mk
 12332 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t4.mk	2010-05-18 19:32:35.177348591 +0100
 13506 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t4.mk	2010-05-18 19:32:35.177348591 +0100
 12333 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t4.mk	2010-05-17 18:47:54.052842000 +0100
 13507 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t4.mk	2010-06-04 12:09:28.388350000 +0100
 12334 @@ -1,5 +1,5 @@
 13508 @@ -1,5 +1,5 @@
 12335  #
 13509  #
 12336 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 13510 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 12337 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 13511 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 12338  # All rights reserved.
 13512  # All rights reserved.
 12360 +passed:
 13534 +passed:
 12361  	@|PLATFORM=armv5;MMP=barney.mmp;BLDINF=somebld.inf;|echo "Started a slow command under talon (attempt $$TALON_ATTEMPT):";echo "SHELL=$$SHELL";if (( $$TALON_ATTEMPT <4 )); then echo sleeping 6; sleep 6; echo "hi"; else echo "Not sleeping this time"; fi; echo "this should not appear in the recipe tags unless you try 4 times."
 13535  	@|PLATFORM=armv5;MMP=barney.mmp;BLDINF=somebld.inf;|echo "Started a slow command under talon (attempt $$TALON_ATTEMPT):";echo "SHELL=$$SHELL";if (( $$TALON_ATTEMPT <4 )); then echo sleeping 6; sleep 6; echo "hi"; else echo "Not sleeping this time"; fi; echo "this should not appear in the recipe tags unless you try 4 times."
 12362  
 13536  
 12363 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t5.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t5.mk
 13537 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t5.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t5.mk
 12364 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t5.mk	2010-05-18 19:32:35.177348591 +0100
 13538 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t5.mk	2010-05-18 19:32:35.177348591 +0100
 12365 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t5.mk	2010-05-17 18:47:54.052842000 +0100
 13539 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t5.mk	2010-06-04 12:09:28.388350000 +0100
 12366 @@ -1,5 +1,5 @@
 13540 @@ -1,5 +1,5 @@
 12367  #
 13541  #
 12368 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 13542 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 12369 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 13543 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 12370  # All rights reserved.
 13544  # All rights reserved.
 12379  all:
 13553  all:
 12380  	||"echo this command should cause a bash error which should be visible"
 13554  	||"echo this command should cause a bash error which should be visible"
 12381 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests: t6.mk
 13555 Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests: t6.mk
 12382 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t.mk
 13556 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t.mk
 12383 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t.mk	2010-05-18 19:32:35.177348591 +0100
 13557 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/t.mk	2010-05-18 19:32:35.177348591 +0100
 12384 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t.mk	2010-05-17 18:47:54.052842000 +0100
 13558 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/t.mk	2010-06-04 12:09:28.388350000 +0100
 12385 @@ -14,6 +14,7 @@
 13559 @@ -14,6 +14,7 @@
 12386  # Description: 
 13560  # Description: 
 12387  #
 13561  #
 12388  
 13562  
 12389 +include settings.mk
 13563 +include settings.mk
 12390  
 13564  
 12391  HOSTNAME:=fred
 13565  HOSTNAME:=fred
 12392  COMPONENT_LAYER:=base
 13566  COMPONENT_LAYER:=base
 12393 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/xcopystdin.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/xcopystdin.mk
 13567 diff -u -r -b -B -E -x '*.hg*' -x '*cross-plat-dev-utils*' -x '*baseline.txt' -x '*README' -x '*TODO' -x '*NEWS' -x '*.pyc' -x '*~' -x '*linux-unknown-libc2_11*' /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/xcopystdin.mk /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/xcopystdin.mk
 12394 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/xcopystdin.mk	2010-05-18 19:32:35.177348591 +0100
 13568 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/tests/xcopystdin.mk	2010-05-18 19:32:35.177348591 +0100
 12395 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/xcopystdin.mk	2010-05-17 18:47:54.056843000 +0100
 13569 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests/xcopystdin.mk	2010-06-04 12:09:28.388350000 +0100
 12396 @@ -1,5 +1,5 @@
 13570 @@ -1,5 +1,5 @@
 12397  #
 13571  #
 12398 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 13572 -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 12399 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 13573 +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 12400  # All rights reserved.
 13574  # All rights reserved.