diff -r eb060913c963 -r de5b887c98f7 cross-plat-dev-utils/patch-files/diffs/patch-0f5e3a7fb6af.patch --- a/cross-plat-dev-utils/patch-files/diffs/patch-0f5e3a7fb6af.patch Tue May 18 19:36:14 2010 +0100 +++ b/cross-plat-dev-utils/patch-files/diffs/patch-0f5e3a7fb6af.patch Fri Jun 04 13:09:28 2010 +0100 @@ -336,7 +336,7 @@ Destructor for E32ExportTable class. 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 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/e32imagefile.cpp 2010-05-18 19:32:30.877348862 +0100 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/e32imagefile.cpp 2010-05-15 14:32:45.000000000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/e32imagefile.cpp 2010-05-21 08:06:04.801225978 +0100 @@ -21,6 +21,7 @@ // get E32ImageHeader class... @@ -511,7 +511,7 @@ using std::cout; 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 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/parametermanager.cpp 2010-05-18 19:32:30.889348502 +0100 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/parametermanager.cpp 2010-05-15 16:38:48.000000000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/parametermanager.cpp 2010-06-04 12:41:24.559881231 +0100 @@ -25,6 +25,7 @@ #include "parametermanager.h" #include "errorhandler.h" @@ -549,7 +549,7 @@ 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 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/e32tools/elf2e32/source/parametermanager.h 2010-05-18 19:32:30.889348502 +0100 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/parametermanager.h 2010-05-15 14:32:45.000000000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/e32tools/elf2e32/source/parametermanager.h 2010-06-04 12:41:24.576355460 +0100 @@ -81,7 +81,7 @@ typedef std::map OptionMap; typedef vector LibSearchPaths; @@ -2922,7 +2922,7 @@ break; 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/cpp-raptor/group/exports.inf 2010-05-17 19:43:29.133345451 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/cpp-raptor/group/exports.inf 2010-06-04 12:39:35.436355000 +0100 @@ -15,6 +15,6 @@ * */ @@ -2933,10 +2933,11 @@ +../win32/bin/cpp.exe ../../tools/sbs/win32/bv/bin/cpp.exe +../win32/i686-pc-mingw32/bin/cc1.exe ../../tools/sbs/win32/bv/i686-pc-mingw32/bin/cc1.exe +../win32/i686-pc-mingw32/bin/libiconv-2.dll ../../tools/sbs/win32/bv/i686-pc-mingw32/bin/libiconv-2.dll +Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: depcrunch.py Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: recipestats.py 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 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/bin/sbs 2010-05-18 19:32:34.709348670 +0100 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin/sbs 2010-05-17 18:47:53.024843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin/sbs 2010-06-04 12:09:24.955849000 +0100 @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -3012,7 +3013,7 @@ 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 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/bin/sbs.bat 2010-05-18 19:32:34.709348670 +0100 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin/sbs.bat 2010-05-17 18:47:53.024843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin/sbs.bat 2010-06-04 12:09:24.955849000 +0100 @@ -1,5 +1,5 @@ @rem -@rem Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -3071,6 +3072,17 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: sbs_filter.bat Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: sbs_filter.py Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/bin: timelines.py +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 +--- /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 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/examples/os_properties.xml 2010-06-04 12:09:24.959850000 +0100 +@@ -18,6 +18,7 @@ + + + ++ + + + 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 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/group/exports.inf 2010-05-18 19:32:34.713348619 +0100 +++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/group/exports.inf 2010-05-09 13:36:29.473288000 +0100 @@ -3492,7 +3504,7 @@ +../win32/bin/talon.exe ../../tools/sbs/win32/bin/talon.exe 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/arm.xml 2010-05-17 18:47:53.028843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/arm.xml 2010-06-04 12:09:24.959850000 +0100 @@ -1,51 +1,62 @@ @@ -3572,7 +3584,7 @@ -@@ -58,22 +69,16 @@ +@@ -58,23 +69,16 @@ @@ -3593,32 +3605,35 @@ - +- + + - -@@ -85,7 +90,8 @@ + +@@ -85,7 +89,9 @@ - + + ++ -@@ -95,7 +101,8 @@ +@@ -95,7 +101,9 @@ - + + ++ -@@ -121,6 +128,9 @@ +@@ -121,6 +129,9 @@ @@ -3628,9 +3643,35 @@ +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 +--- /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 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/carbide.xml 2010-06-04 12:09:24.963850000 +0100 +@@ -27,6 +27,22 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gcce.xml 2010-05-17 18:47:53.032843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gcce.xml 2010-06-04 12:09:24.963850000 +0100 @@ -1,108 +1,128 @@ @@ -3818,7 +3859,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gcc.xml 2010-05-17 19:30:38.665334296 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gcc.xml 2010-06-04 12:39:38.836352000 +0100 @@ -1,32 +1,32 @@ @@ -3896,7 +3937,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gccxml.xml 2010-05-17 18:47:53.032843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/gccxml.xml 2010-06-04 12:09:24.963850000 +0100 @@ -1,21 +1,20 @@ @@ -3945,7 +3986,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/interfaces.xml 2010-05-17 18:47:53.032843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/interfaces.xml 2010-06-04 12:09:24.963850000 +0100 @@ -5,15 +5,17 @@ @@ -3967,7 +4008,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/locations.xml 2010-05-17 18:47:53.032843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/locations.xml 2010-06-04 12:09:24.963850000 +0100 @@ -30,7 +30,7 @@ @@ -3991,19 +4032,30 @@ -@@ -107,7 +108,7 @@ +@@ -107,7 +108,8 @@ - + ++ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/make.xml 2010-05-17 18:47:53.032843000 +0100 -@@ -47,6 +47,9 @@ ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/make.xml 2010-06-04 12:09:24.963850000 +0100 +@@ -13,6 +13,9 @@ + + + ++ ++ ++ + + + +@@ -47,9 +50,12 @@ @@ -4012,20 +4064,58 @@ + - -@@ -67,6 +70,9 @@ +- ++ + + + +@@ -57,7 +63,7 @@ + + + +- ++ + + + +@@ -67,9 +73,13 @@ ++ + + + - +- ++ + + + +@@ -77,7 +87,7 @@ + + + +- ++ + + + +@@ -85,8 +95,9 @@ + + + ++ + + +- ++ + + 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/msvc.xml 2010-05-17 18:47:53.032843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/msvc.xml 2010-06-04 12:09:24.963850000 +0100 @@ -1,11 +1,11 @@ @@ -4084,7 +4174,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/root.xml 2010-05-17 18:47:53.032843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/root.xml 2010-06-04 12:09:24.967850000 +0100 @@ -11,6 +11,8 @@ --> @@ -4094,9 +4184,17 @@ +@@ -43,6 +45,7 @@ + + + ++ + + + @@ -4276,6 +4377,15 @@ +@@ -68,7 +82,7 @@ + + + +- ++ + + + @@ -77,67 +91,40 @@ @@ -4367,7 +4477,7 @@ -@@ -147,23 +134,24 @@ +@@ -147,23 +134,25 @@ @@ -4380,6 +4490,7 @@ + ++ @@ -4397,7 +4508,7 @@ -@@ -173,47 +161,48 @@ +@@ -173,47 +162,48 @@ @@ -4462,7 +4573,7 @@ -@@ -262,4 +251,17 @@ +@@ -262,4 +252,17 @@ @@ -4482,7 +4593,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/winscw.xml 2010-05-17 18:47:53.036842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/config/winscw.xml 2010-06-04 12:09:24.967850000 +0100 @@ -1,24 +1,31 @@ @@ -4537,7 +4648,7 @@ -@@ -40,100 +48,100 @@ +@@ -40,104 +48,106 @@ @@ -4694,23 +4805,27 @@ + - +- - - -+ -+ - +- - - - ++ ++ ++ ++ + + + - - ++ + +- - - ++ + + @@ -4719,22 +4834,39 @@ + + ++ +- +- ++ ++ + + 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/base.xml 2010-05-17 18:47:53.036842000 +0100 -@@ -16,6 +16,7 @@ ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/base.xml 2010-06-04 12:09:24.967850000 +0100 +@@ -16,7 +16,9 @@ + ++ + +@@ -83,6 +85,7 @@ + + + ++ + + + 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/bitmap.flm 2010-05-17 18:47:53.036842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/bitmap.flm 2010-06-04 12:09:24.967850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -4828,7 +4960,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/build.flm 2010-05-17 18:47:53.036842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/build.flm 2010-06-04 12:09:24.967850000 +0100 @@ -24,36 +24,31 @@ .PHONY:: PP_EXPORTS @@ -4899,7 +5031,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/build.xml 2010-05-17 18:47:53.036842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/build.xml 2010-06-04 12:09:24.971850000 +0100 @@ -9,6 +9,7 @@ @@ -4910,7 +5042,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2ani.flm 2010-05-17 18:47:53.040843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2ani.flm 2010-06-04 12:09:24.971850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -4949,7 +5081,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2defaults.mk 2010-05-17 18:47:53.040843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2defaults.mk 2010-06-04 12:09:24.975850000 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -5005,7 +5137,7 @@ +endif 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2dll.flm 2010-05-17 18:47:53.040843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2dll.flm 2010-06-04 12:09:24.975850000 +0100 @@ -28,7 +28,7 @@ # Default Linker settings for this target type @@ -5025,7 +5157,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2exe.flm 2010-05-17 18:47:53.040843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2exe.flm 2010-06-04 12:09:24.975850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -5056,7 +5188,7 @@ CDEFS:=$(CDEFS) __EXE__ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2exexp.flm 2010-05-17 18:47:53.040843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2exexp.flm 2010-06-04 12:09:24.975850000 +0100 @@ -52,10 +52,10 @@ LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/$(FIRSTLIB) @@ -5072,14 +5204,14 @@ ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True") 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2.flm 2010-05-17 18:47:53.040843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2.flm 2010-06-04 12:09:24.971850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" -@@ -16,15 +16,37 @@ +@@ -16,21 +16,50 @@ # # @@ -5106,7 +5238,8 @@ +# test (FEATUREVARIANTNAME=="" and FEATUREVARIANT=="") or +# (FEATUREVARIANTNAME!="" and FEATUREVARIANT==1) +# -+ + +-$(if $(FLMDEBUG),$(info )) +DOBUILD:= +ifeq ($(FEATUREVARIANTSAFE),) + DOBUILD:=$(if $(or $(call equal,$(FEATUREVARIANTNAME),),\ @@ -5119,26 +5252,72 @@ +endif + +ifeq ($(DOBUILD),1) - - $(if $(FLMDEBUG),$(info )) - -@@ -141,7 +163,6 @@ ++ ++$(if $(FLMDEBUG),$(info )) ++ ++# Enable DELETE_ON_FAILED_COMPILE work around for failed RVCT 2.2 compiles ++ifneq ($(DELETE_ON_FAILED_COMPILE),) ++RVCT22_DELETE_WORKAROUND:=|| { $$(GNURM) $$@; exit 1; } ++endif # ifneq ($(DELETE_ON_FAILED_COMPILE),) + + # Strip switch-type parameters + # + POSTLINKTARGETTYPE:=$(strip $(POSTLINKTARGETTYPE)) ++TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)) ++ + UID1:=$(strip $(UID1)) + UID2:=$(strip $(UID2)) + UID3:=$(strip $(UID3)) +@@ -106,9 +135,9 @@ + + # Postlinkable targets need to be linked and elf2e32'd + ifneq ($(DOPOSTLINK),) +- E32TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)) +- LINK_TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)).sym +- MAPFILE:=$(RELEASABLEPATH)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)).map ++ E32TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(TARGETEXT) ++ LINK_TARGET:=$(RELEASABLEPATH)/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(TARGETEXT).sym ++ MAPFILE:=$(RELEASABLEPATH)/$(TARGET).$(TARGETEXT).map + else + E32TARGET:= + LINK_TARGET:= +@@ -141,23 +170,19 @@ ifeq ($($(BUILDMARKER_IMPORTLIBTARGET_DSO)),) IMPORTLIBTARGET_DSO:=$(TMP_IMPORTLIBTARGET_ROOT).dso IMPORTLIBTARGETVERSIONED_DSO:=$(VER_E32IMPORTLIBBASE).dso - $(eval $(BUILDMARKER_IMPORTLIBTARGET_DSO):=1) endif - # ABIv1 .lib (for specific builds, toolchains and host OS platforms only) -@@ -156,7 +177,6 @@ +- # ABIv1 .lib (for specific builds, toolchains and host OS platforms only) ++ # ABIv1 .lib (for specific kits and toolchains only) + IMPORTLIBTARGET_LIB:= + IMPORTLIBTARGETVERSIONED_LIB:= + BUILDMARKER_IMPORTLIBTARGET_LIB:=TARGET_$(subst :,,$(VER_E32IMPORTLIBBASE)).lib +- # Only for builds that require and support them, and only on windows +- ifeq ($(OSTYPE),cygwin) +- ifeq ($(GENERATE_ABIV1_IMPLIBS),1) ++ # Only for kits that require and tools that support them ++ ifneq ($(SUPPORTS_ABIV1_IMPLIBS),) + WHATRELEASE:=$(WHATRELEASE) $(if $(EXPLICITVERSION),,$(TMP_IMPORTLIBTARGET_ROOT).lib) + WHATRELEASE:=$(WHATRELEASE) $(VER_E32IMPORTLIBBASE).lib ifeq ($($(BUILDMARKER_IMPORTLIBTARGET_LIB)),) IMPORTLIBTARGET_LIB:=$(TMP_IMPORTLIBTARGET_ROOT).lib IMPORTLIBTARGETVERSIONED_LIB:=$(VER_E32IMPORTLIBBASE).lib - $(eval $(BUILDMARKER_IMPORTLIBTARGET_LIB):=1) - endif +- endif endif endif -@@ -223,7 +243,7 @@ + endif +@@ -167,7 +192,7 @@ + # put the hex version number in the right place + ifeq ($(LINKAS),) + LINKASNAME=$(TARGET) +- LINKASTYPE=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)) ++ LINKASTYPE=$(TARGETEXT) + else + SPLIT_LINKAS=$(subst ., ,$(LINKAS)) + LINKASNAME=$(word 1,$(SPLIT_LINKAS)) +@@ -223,7 +248,7 @@ DSODEFFILENAMEBASE:=$(TARGET){$(VERSIONHEX)} endif GENERATED_DSO:=$(call dblquote,$(INTERMEDIATEPATH)/$(DSODEFFILENAMEBASE).dso) @@ -5147,7 +5326,7 @@ ## IMPORT LIBRARY ########################################################### -@@ -251,6 +271,10 @@ +@@ -251,6 +276,10 @@ # ABIv2 .dso ifneq ($(IMPORTLIBTARGET_DSO),) # check that we haven't tried to specify this target already @@ -5158,7 +5337,7 @@ ifneq ($(EXPLICITVERSION),) TARGETS:=$(strip $(TARGETS) $(IMPORTLIBTARGETVERSIONED_DSO)) -@@ -279,9 +303,6 @@ +@@ -279,9 +308,6 @@ $(call startrule,importlibtarget_unfrozen,FORCESUCCESS) \ $(GNUCP) $$(call dblquote,$$<) $$(call dblquote,$$@) \ $(call endrule,importlibtarget_unfrozen) @@ -5168,7 +5347,7 @@ endef define importlibtarget_unfrozen_ver -@@ -289,8 +310,6 @@ +@@ -289,8 +315,6 @@ $(call startrule,importlibversioned_unfrozen,FORCESUCCESS) \ $(GNUCP) "$(GENERATED_DSO)" "$$@" \ $(call endrule,importlibversioned_unfrozen) @@ -5177,7 +5356,7 @@ endef ifeq ($(EXPLICITVERSION),) -@@ -307,8 +326,6 @@ +@@ -307,8 +331,6 @@ $(call startrule,importlibtarget,FORCESUCCESS) \ $(GNUCP) "$$<" "$$@" \ $(call endrule,importlibtarget) @@ -5186,7 +5365,7 @@ endef ifeq ($(EXPLICITVERSION),) -@@ -325,8 +342,6 @@ +@@ -325,8 +347,6 @@ --dso=$$(call dblquote,$$@) \ --linkas=$(call dblquote,$(LINKASVERSIONED)) \ $(call endrule,importlibversioned) @@ -5195,7 +5374,7 @@ endef $(eval $(importlibtargetversioned_func)) endif # ifneq ($(DEFFILE),) -@@ -335,7 +350,10 @@ +@@ -335,7 +355,10 @@ # ABIv1 .lib ifneq ($(IMPORTLIBTARGETVERSIONED_LIB),) # check that we haven't tried to specify this target already @@ -5207,7 +5386,7 @@ define abiv1_generatelib -@@ -351,12 +369,12 @@ +@@ -351,12 +374,12 @@ # If unfrozen, .lib files are based on the .def file generated by the final postlink $(IMPORTLIBTARGETVERSIONED_LIB): $(if $(EXPORTUNFROZEN),$(E32TARGET),$(PREPPEDDEFFILE)) $(call startrule,importlibversioned_abiv1) \ @@ -5222,7 +5401,7 @@ --linkAs=$(call dblquote,$(LINKASVERSIONED)) \ --inter ; fi \ $(call endrule,importlibversioned_abiv1) -@@ -388,7 +406,22 @@ +@@ -388,7 +411,22 @@ # Generating the import library is enough if TARGETTYPE=implib ############# ifneq ($(DOPOSTLINK),) @@ -5246,7 +5425,7 @@ endif # ifneq ($(DOPOSTLINK),) ifneq ($(TARGETTYPE),implib) -@@ -534,7 +567,7 @@ +@@ -534,7 +572,7 @@ endef $(eval $(artarget_func)) @@ -5255,7 +5434,7 @@ endif -@@ -542,8 +575,7 @@ +@@ -542,8 +580,7 @@ # Targettype is some type of DLL or EXE (or derivative) ifneq ($(LINK_TARGET),) @@ -5265,7 +5444,7 @@ located_STATICLIBRARIES:=$(foreach L,$(STATICLIBRARY),$(STATIC_LIBRARY_DIR)/$(L).lib) e32abiv2_LIBS:=$(EXPTARGET) $(LINKER_STUB_LIBRARY) $(if $(STATIC_RUNTIME_LIB),$(STATIC_RUNTIME_DIR)/$(STATIC_RUNTIME_LIB),) $(located_STATICLIBRARIES) # DLLS and EXEs - These objects are linked by a linker -@@ -556,12 +588,10 @@ +@@ -556,12 +593,10 @@ REDUCED_RUNTIME_LIBS_LIST:=$(subst $(TARGET).dso,,$(RUNTIME_LIBS_LIST)) ifeq ($(VARIANTTYPE),udeb) @@ -5280,7 +5459,7 @@ else # NORMAL -@@ -574,19 +604,16 @@ +@@ -574,19 +609,16 @@ ifeq ($(HAS_DEDICATED_OP_NEWDEL_LIB),1) e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(RUNTIME_LIBS_PATH)/,$(NEWLIB)) endif @@ -5303,7 +5482,7 @@ endif # NOTE: the groupin10 macro must be used before a call to the "startrule" macro -@@ -596,36 +623,76 @@ +@@ -596,36 +628,76 @@ # outside the relevant tags but it is also unavoidable. define linktarget_func ## The actual link target, dependencies and build step @@ -5393,15 +5572,17 @@ WHATRELEASE:=$(WHATRELEASE) $(MAPFILE) endif # if TARGETTYPE lib -@@ -646,6 +713,7 @@ +@@ -645,7 +717,9 @@ + # USE_TRACE_COMPILER defaults to blank in Raptor config. # Users can turn TC on by setting it to 1 in user config. ifneq ($(USE_TRACE_COMPILER),) ++ # TARGETEXT is already set include $(FLMHOME)/tracecompiler.mk + WHATRELEASE:=$(WHATRELEASE) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER) endif CC_CPPONLY_ARGS:=$(SYMBIAN_CCFLAGS) $(if $(DEBUG_INFO),-g) $(DEBUG_FORMAT) \ -@@ -655,7 +723,7 @@ +@@ -655,7 +729,7 @@ $(EXPORT_VTBL_OPTION) $(NO_UNALIGNED_ACCESS) $(VFE_OPTION) $(AAPCS_OPTION) \ $(CPPONLYOPTION) $(INSTRUCTION_SET) \ $(if $(ALWAYS_BUILD_AS_ARM),$(ARM_INSTRUCTION_SET),$(THUMB_INSTRUCTION_SET) $(call makemacrodef,-D,$(COMPILER_THUMB_DEFINES))) \ @@ -5410,7 +5591,7 @@ ## COMPILE CPP Files ################################################################# -@@ -674,7 +742,7 @@ +@@ -674,7 +748,7 @@ $(EXPORT_VTBL_OPTION) $(NO_UNALIGNED_ACCESS) $(VFE_OPTION) $(AAPCS_OPTION) \ $(COMPILE_ONLY_OPTION) $(INSTRUCTION_SET) \ $(if $(ALWAYS_BUILD_AS_ARM),$(ARM_INSTRUCTION_SET),$(THUMB_INSTRUCTION_SET) $(call makemacrodef,-D,$(COMPILER_THUMB_DEFINES))) \ @@ -5419,7 +5600,7 @@ ifeq ($(STDCPP),1) SYSTEMINCLUDE:=$(SYSTEMINCLUDE) $(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(STDCPP_INCLUDE))) -@@ -705,7 +773,7 @@ +@@ -705,7 +779,7 @@ $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME))) # $4 is for language specific options (e.g. C++ vs C) @@ -5428,7 +5609,7 @@ $(call startrule,compile,,$(2)) \ $(if $(PERTURBSTARTTIME), $(RANSLEEP) $(PERTURBMSECS) ;,) \ $(if $(MULTIFILE_ENABLED), echo $(2) $(3) > $(MULTIFILE_VIAFILE) ;,) \ -@@ -716,24 +784,27 @@ +@@ -716,24 +790,27 @@ $(if $(USE_PROFILER_FEEDBACK),--profile=$(call dblquote,$(ARM_PROFILER_FILE)),) \ $(call makemacrodef,-D,$(COMPILER_INTERWORK_DEFINES) $(CDEFS)) \ $(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$(call concat, $(PREINCLUDE_OPTION) ,$(call dblquote,$(PREINCLUDE)))\ @@ -5442,7 +5623,8 @@ + $(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(1).d)) \ $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \ $(if $(MULTIFILE_ENABLED),--multifile $(OUTPUT_OPTION) $(MULTIFILEOBJECT) \ - --via $$(call dblquote, $(MULTIFILE_VIAFILE)),$(OUTPUT_OPTION) $$@ $$(call dblquote, $$<)) \ +- --via $$(call dblquote, $(MULTIFILE_VIAFILE)),$(OUTPUT_OPTION) $$@ $$(call dblquote, $$<)) \ ++ --via $$(call dblquote, $(MULTIFILE_VIAFILE)),$(OUTPUT_OPTION) $$@ $$(call dblquote, $$<)) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \ $(call endrule,compile) -CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) @@ -5463,7 +5645,25 @@ endif # individual source file compilation -@@ -809,24 +880,27 @@ +@@ -780,7 +857,7 @@ + $(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE))) \ + $(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE))) \ + $(if $(NOHIDEALL),--no_hide_all,) \ +- $$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) \ ++ $$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \ + $(call endrule,e32cpponly) + + CLEANTARGETS:=$$(CLEANTARGETS) $(CPPONLYTARGET) +@@ -793,7 +870,7 @@ + define e32abiv2_listing + # $1 is the sourcefile + +-$(eval LISTINGTARGET:=$(strip $(call extractandmap,$(CPPFILEEXTENSIONS) $(CFILEEXTENSIONS),.$(subst _,.,$(call sanitise,$(FULLVARIANTPATH))).$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)).lst,$1))) ++$(eval LISTINGTARGET:=$(strip $(call extractandmap,$(CPPFILEEXTENSIONS) $(CFILEEXTENSIONS),.$(subst _,.,$(call sanitise,$(FULLVARIANTPATH))).$(TARGET).$(TARGETEXT).lst,$1))) + $(eval DEPENDFILENAME:=$(call map2listfile,$1).d) + $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME))) + +@@ -809,24 +886,27 @@ $(OPTION_COMPILER) \ $(call makemacrodef,-D,$(COMPILER_INTERWORK_DEFINES) $(CDEFS)) \ $(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$(call concat, $(PREINCLUDE_OPTION) ,$(call dblquote,$(PREINCLUDE)))\ @@ -5474,8 +5674,9 @@ $(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE))) \ $(if $(NOHIDEALL),--no_hide_all,) \ - $(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME)) \ +- $$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) \ + $(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \ - $$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) \ ++ $$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \ $(call endrule,e32listing) CLEANTARGETS:=$$(CLEANTARGETS) $(LISTINGTARGET) @@ -5498,7 +5699,14 @@ endif endef -@@ -852,17 +926,32 @@ +@@ -846,23 +926,38 @@ + # separate arguments are interpreted as a single argument when passed to bash + FIVESPACES=$(BLANK) $(BLANK) + +-FREEZEGUARD:=TARGET_$(TARGET)_$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE))_$(IMPORTLIBPATH)_EFREEZE ++FREEZEGUARD:=TARGET_$(TARGET)_$(TARGETEXT)_$(IMPORTLIBPATH)_EFREEZE + + define e32freeze FREEZE:: $(1) $(call startrule,freeze,,$(RESOLVED_DEFFILE)) \ @@ -5538,7 +5746,16 @@ endif endif -@@ -912,24 +1001,26 @@ +@@ -892,7 +987,7 @@ + $(call makemacrodef,-D,$(COMPILER_INTERWORK_DEFINES) $(CDEFS) $(CIADEFS)) $(CPP_LANG_OPTION) \ + $(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(USERINCLUDE))) \ + $(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(SYSTEMINCLUDE))) \ +- $$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ \ ++ $$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \ + $(call endrule,cia2cpp2o) + + +@@ -912,24 +1007,26 @@ $(if $(PREINCLUDE),$(PREINCLUDE_OPTION) ,)$$(call concat, $(PREINCLUDE_OPTION) ,$$(call dblquote,$(PREINCLUDE))) \ $(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(USERINCLUDE))) \ $(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$$(call dblquote,$(SYSTEMINCLUDE))) \ @@ -5552,7 +5769,7 @@ - $(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) && \ - $(CC) -M $(e32abiv2_PREFILE_OPTIONS) --depend_format=unix \ - $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) > $(call dblquote,$(e32abiv2_PREFILE).d) \ -+ $(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) \ ++ $(CC) $(e32abiv2_PREFILE_OPTIONS) $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \ + $(if $(NO_DEPEND_GENERATE),,&& $(CC) -M $(e32abiv2_PREFILE_OPTIONS) --depend_format=unix $(OUTPUT_OPTION) $$@ $$(call dblquote,$1) > $(call dblquote,$(e32abiv2_PREFILE).d)) \ $(call endrule,cia2cpp) @@ -5574,18 +5791,20 @@ endif endef -@@ -960,21 +1051,26 @@ +@@ -960,21 +1057,26 @@ $(call startrule,asmcompile,,$(2)) \ $(if $(PERTURBSTARTTIME),$(RANSLEEP) $(PERTURBMSECS) ;,) \ $(CC) $(e32abiv2_asm_OPTIONS) \ - $(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME)) \ +- $$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ \ + $(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \ - $$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ \ ++ $$(call dblquote, $$<) $(OUTPUT_OPTION) $$@ $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \ $(call endrule,asmcompile) +ifeq ($(NO_DEPEND_GENERATE),) $(call startrule,asmdependencies) \ $(CC) -M $(subst --no_rtti,,$(e32abiv2_asm_OPTIONS)) --depend_format=unix \ - $(OUTPUT_OPTION) $$@ $$(call dblquote,$2) > $(call dblquote,$(DEPENDFILENAME)) \ +- $(OUTPUT_OPTION) $$@ $$(call dblquote,$2) > $(call dblquote,$(DEPENDFILENAME)) \ ++ $(OUTPUT_OPTION) $$@ $$(call dblquote,$2) > $(call dblquote,$(DEPENDFILENAME)) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \ $(call endrule,asmdependencies) +endif @@ -5607,7 +5826,44 @@ endif CREATABLEPATHS:=$$(CREATABLEPATHS) $(INTERMEDIATEPATH) -@@ -1116,7 +1212,6 @@ +@@ -1000,7 +1102,7 @@ + # Default values + ROMFILETYPE:=file + ROMFILE:=$(TARGET).$(REQUESTEDTARGETEXT) +- ROMPATH:=sys/bin/ ++ ROMPATH:=$(if $(TARGETPATH),$(TARGETPATH)/,sys/bin/) + ROMDECORATIONS:= + ROMFILETYPE_RAM:=data + ROMFILE_RAM:=$(TARGET).$(REQUESTEDTARGETEXT) +@@ -1021,6 +1123,7 @@ + endif + + ++ DATATEXT:= + ifeq ($(TESTCODE),TRUE) + # Add 'TEST' to the .iby filename + ROMTEST:=test +@@ -1031,8 +1134,6 @@ + DATATEXT:="data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TEST_OPTION).bat test/$(MODULE).$(TEST_OPTION).bat" + endif + endif +- else +- DATATEXT:= + endif + + # ROMTARGET +@@ -1078,8 +1179,8 @@ + $(call startrule,rombuild) \ + $(GNUMKDIR) -p $(ROMDIR) \ + $(if $(ROMFILE_CREATED_$(TOBLDINF)),,&& echo -e "// $(subst $(EPOC_ROOT)/,,$(ROMFILENAME))\n//\n$(DATATEXT)" > $(ROMFILENAME)) \ +- $(if $(BUILDROMTARGET),&& echo "$(ROMFILETYPE)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET).$(REQUESTEDTARGETEXT) $(1)$(ROMDECORATIONS)" >> $(ROMFILENAME)) \ +- $(if $(RAMTARGET),&& echo "$(ROMFILETYPE_RAM)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET).$(REQUESTEDTARGETEXT) $(ROMPATH_RAM)$(ROMFILE_RAM)$(ROMDECORATIONS_RAM)" >> $(ROMFILENAME)) \ ++ $(if $(BUILDROMTARGET),&& echo "$(ROMFILETYPE)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT) $(1)$(ROMDECORATIONS)" >> $(ROMFILENAME)) \ ++ $(if $(RAMTARGET),&& echo "$(ROMFILETYPE_RAM)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT) $(ROMPATH_RAM)$(ROMFILE_RAM)$(ROMDECORATIONS_RAM)" >> $(ROMFILENAME)) \ + $(call endrule,buildromfiletarget) + endef + +@@ -1116,7 +1217,6 @@ PREVIOUSVARIANTTYPE:=$(VARIANTTYPE) WHATRELEASE:=$(WHATRELEASE) $(ROMFILENAME) @@ -5615,7 +5871,7 @@ endif # Deal with test code batch files generation. -@@ -1127,7 +1222,6 @@ +@@ -1127,7 +1227,6 @@ BATCHFILE_CREATED_$(EPOCROOT)/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH):=1 TARGET_CREATED_$(EPOCROOT)/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)_$(TARGET):=1 WHATRELEASE:=$(WHATRELEASE) $(EPOCROOT)/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH) @@ -5623,7 +5879,7 @@ endif ###################### End of Build ROMFILE target ###################### -@@ -1167,12 +1261,12 @@ +@@ -1167,12 +1266,12 @@ $(call makepath,$(CREATABLEPATHS)) ## Clean up @@ -5642,7 +5898,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2fsy.flm 2010-05-17 18:47:53.040843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2fsy.flm 2010-06-04 12:09:24.975850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -5676,7 +5932,13 @@ CANIGNORENONCALLABLE:=1 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2kdll.flm 2010-05-17 18:47:53.044842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2kdll.flm 2010-06-04 12:09:24.975850000 +0100 +@@ -1,4 +1,4 @@ +-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). ++# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). + # All rights reserved. + # This component and the accompanying materials are made available + # under the terms of the License "Eclipse Public License v1.0" @@ -27,7 +27,7 @@ # Determine what kind of entrypoint option to set @@ -5686,9 +5948,17 @@ ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True") LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP) +@@ -48,6 +48,7 @@ + IMPORTLIBRARYREQUIRED:=1 + endif + POSTLINKDEFFILE:=$(DEFFILE) ++SUPPORT_FREEZE:=1 + + # No exception support for kernel code? + EXCEPTIONS:=$(NO_EXCEPTIONS) 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2kext.flm 2010-05-17 18:47:53.044842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2kext.flm 2010-06-04 12:09:24.975850000 +0100 @@ -34,7 +34,7 @@ # Default Linker settings for this target type @@ -5700,7 +5970,7 @@ LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP) 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2ldd.flm 2010-05-17 18:47:53.044842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2ldd.flm 2010-06-04 12:09:24.975850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -5734,7 +6004,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2pdd.flm 2010-05-17 18:47:53.044842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2pdd.flm 2010-06-04 12:09:24.979850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -5767,7 +6037,7 @@ UID2:=100039d0 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2pdl.flm 2010-05-17 18:47:53.044842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2pdl.flm 2010-06-04 12:09:24.979850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -5802,7 +6072,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm: e32abiv2pdll.flm 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2plugin.flm 2010-05-17 18:47:53.044842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2plugin.flm 2010-06-04 12:09:24.979850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -5866,7 +6136,7 @@ endif 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2stddll.flm 2010-05-17 18:47:53.044842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2stddll.flm 2010-06-04 12:09:24.979850000 +0100 @@ -29,7 +29,7 @@ # Default Linker settings for this target type @@ -5878,7 +6148,7 @@ ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True") 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm 2010-05-17 18:47:53.044842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm 2010-06-04 12:09:24.979850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -5914,7 +6184,7 @@ # STDEXEs need the c runtime library 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm 2010-05-17 18:47:53.048842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm 2010-06-04 12:09:24.979850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -5948,7 +6218,7 @@ POSTLINKDEFFILE:=$(DEFFILE) 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2var2.flm 2010-05-17 18:47:53.048842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2var2.flm 2010-06-04 12:09:24.979850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -5992,7 +6262,7 @@ # other invocations so we are going to save it on a stack 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2var.flm 2010-05-17 18:47:53.048842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/e32abiv2var.flm 2010-06-04 12:09:24.979850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -6036,7 +6306,7 @@ # other invocations so we are going to save it on a stack 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/emulator.xml 2010-05-17 18:47:53.048842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/emulator.xml 2010-06-04 12:09:24.979850000 +0100 @@ -89,7 +89,6 @@ @@ -6081,7 +6351,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/gccxml.flm 2010-05-17 18:47:53.048842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/gccxml.flm 2010-06-04 12:09:24.983850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -6146,7 +6416,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/msvctools.flm 2010-05-17 18:47:53.052842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/msvctools.flm 2010-06-04 12:09:24.983850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -6225,7 +6495,7 @@ +$(call raptor_release,$(INSTALLTARGET)) 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/msvctools.xml 2010-05-17 18:47:53.052842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/msvctools.xml 2010-06-04 12:09:24.987850000 +0100 @@ -42,7 +42,6 @@ @@ -6236,64 +6506,327 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/resource.flm 2010-05-17 18:47:53.052842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/resource.flm 2010-06-04 12:09:24.987850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" -@@ -101,8 +101,6 @@ - @if [ ! -f $$@ ]; then echo "DATADIR: /$(RSSBASENAME)" > $$@ ; fi - @echo -e "\n/z$(TARGETPATH)/$(TARGET_lower).rsc : $(RSSBASENAME).rpp" >> $$@ +@@ -48,119 +48,121 @@ + # Ensure that RELEASABLES and CLEANTARGETS cannot expand indefinitely in successive calls to this flm: + CLEANTARGETS:= + RELEASABLES:= ++CREATABLEPATHS:= + + # There is only one resource header (.rsg) file and we only + # make that if we are asked. + RSGDIR:=$(EPOCROOT)/epoc32/include ++# If there are multiple LANGUAGES then it is the last one in the list ++# which produces the header. ++HEADLANG:=$(lastword $(LANGUAGES:SC=sc)) + ifneq ($(or $(HEADER),$(HEADERONLY)),) + RESOURCEHEADER:=$(RSGDIR)/$(HEADER) + +- # If there are multiple LANGUAGES then it is the last one in the list +- # which produces the header. +- HEADLANG:=$(lastword $(LANGUAGES:SC=sc)) + else +- HEADLANG:= + RESOURCEHEADER:= + endif + + # we create intermediate .rpp and .d files +-INTERBASE:=$(OUTPUTPATH)/$(TARGET_lower)$(if $(TARGETPATH),_$(subst /,_,$(TARGETPATH)),) ++INTERBASE_TMP:=$(OUTPUTPATH)/$(TARGET_lower)_$(notdir $(basename $(SOURCE))) + +-################################## localisation ###########################$(GNUMKDIR)############# +-# Only make copies for full resource builds + +-# Initialise to prevent RELEASABLES spill-over between calls +-DESTRPP:= +-INFOFILE:= +- +-ifeq ($(HEADERONLY),) +- +-RSSBASENAME:=$(call lowercase,$(basename $(notdir $(SOURCE)))) +-DESTRPP:=$(EPOCROOT)/epoc32/localisation/$(RSSBASENAME)/rsc/$(RSSBASENAME).rpp +-$(call makepath,$(EPOCROOT)/epoc32/localisation/$(RSSBASENAME)/rsc) ++# common pre-processor options + +-INFOFILE:=$(EPOCROOT)/epoc32/localisation/group/$(RSSBASENAME).info +-# If there are MULTIPLE languages then copy the .rpp for the last one +-RPPLANG:=$(lastword $(LANGUAGES:SC=sc)) ++# We really should be using -iquote with a recent cpp. This is a note for when we do update: ++#CPPOPT:=-nostdinc -undef -Wno-trigraphs -D_UNICODE -include $(PRODUCT_INCLUDE)\ ++# -I$(dir $(SOURCE)) $(foreach I, $(USERINCLUDE),-iquote $(I) ) $(foreach J,$(SYSTEMINCLUDE),-I $(J) ) + +-# Copy .rpp files from epoc32/build/ to epoc32/localisation/x/rsc/x.rpp and create .info files in localisation +-define CreateRppAndInfo ++CPPOPT:=-nostdinc -undef -Wno-trigraphs -D_UNICODE -include $(PRODUCT_INCLUDE)\ ++ -I$(dir $(SOURCE)) $(foreach I, $(USERINCLUDE),-I$(I) ) -I- $(foreach J,$(SYSTEMINCLUDE),-I$(J) ) + +-ifeq ($(RESOURCE_$(call sanitise,$(SOURCE))),) +-RESOURCE_$(call sanitise,$(SOURCE)):=1 ++CREATABLEPATHS:=$(CREATABLEPATHS) $(RSCDIR) $(RSGDIR) $(OUTPUTPATH) + +-RESOURCE:: $(DESTRPP) $(INFOFILE) ++# We intend to generate the resource in an intermediate location and copy to the targetpath to ++# ensure that when the "same" resource is built into separare target paths, it doesn't have to be ++# completely recreated each time - just copied. ++RSCCOPYDIRS:=$(RSCDIR) + +-$(DESTRPP): $(INTERBASE)_$(RPPLANG).rpp +- $(call startrule,rppfilecopy,FORCESUCCESS) \ +- $(GNUCP) $$< $$@ \ +- $(call endrule,rppfilecopy) ++# additional binary resource copies performed based on BINCOPYDIRS ++ifneq ($(BINCOPYDIRS),) ++ RSCCOPYDIRS:=$(RSCCOPYDIRS) $(subst //,/,$(patsubst %,%/$(if $(TARGETPATH),/z/$(TARGETPATH),),$(BINCOPYDIRS))) ++endif ++CREATABLEPATHS:=$(CREATABLEPATHS) $(RSCCOPYDIRS) + +-$(INFOFILE):: +- @if [ ! -d $(EPOCROOT)/epoc32/localisation/group ]; then $(GNUMKDIR) -p $(EPOCROOT)/epoc32/localisation/group; fi +- @if [ ! -f $$@ ]; then echo "DATADIR: /$(RSSBASENAME)" > $$@ ; fi +- @echo -e "\n/z$(TARGETPATH)/$(TARGET_lower).rsc : $(RSSBASENAME).rpp" >> $$@ ++############################################################################### -CLEANTARGETS:=$$(CLEANTARGETS) $(DESTRPP) $(INFOFILE) -- - endif - endef - -@@ -114,7 +112,7 @@ - $(call makepath,$(INTERBASE)) - - # common pre-processor options + +-endif +-endef ++define preprocessresource ++# $1 is the RPPFILE (eg. /epoc32/build/xxx/b_sc.rpp) ++# $2 is the LANGUAGE (eg. sc or 01 or 02 ...) ++# $3 is the "primary" language on which all the others depend + +-$(eval $(call CreateRppAndInfo)) +-endif +-################################# end of localisation ################################### ++ ifeq ($(TARGET_$(call sanitise,$1)),) ++ TARGET_$(call sanitise,$1):=1 ++ $(if $(FLMDEBUG),$$(info preprocessresource: $1 LANG:$2 dep $3)) + +-# make the output directories while reading makefile - some build engines prefer this +-$(call makepath,$(INTERBASE)) + +-# common pre-processor options -CPPOPT:=-nostdinc -undef -D_UNICODE -include $(PRODUCT_INCLUDE)\ -+CPPOPT:=-nostdinc -undef -Wno-trigraphs -D_UNICODE -include $(PRODUCT_INCLUDE)\ - -I$(dir $(SOURCE)) $(foreach I, $(USERINCLUDE),-I$(I) ) -I- $(foreach J,$(SYSTEMINCLUDE),-I$(J) ) - - CREATABLEPATHS:=$(RSCDIR) $(RSGDIR) $(OUTPUTPATH) -@@ -174,7 +172,6 @@ - - ifeq ($(TARGET_$(call sanitise,$2)),) - TARGET_$(call sanitise,$2):=1 +- -I$(dir $(SOURCE)) $(foreach I, $(USERINCLUDE),-I$(I) ) -I- $(foreach J,$(SYSTEMINCLUDE),-I$(J) ) ++ # Correct dependency information when a header file can't be found. ++ # If the c preprocessor can't find a dependency it appears as it did in the #include statement ++ # e.g. "filename.mbg" or "filename.rsg" in the dependency file. ++ ++ifneq ($(NO_DEPEND_GENERATE),) ++ # This version minimises the size of dependency files, to contain only .mbg and .rsg deps. ++ # It allows resources to be built in the right order but doesn't impose the weight of ++ # of full dependency information which can overwhelm make in large builds. ++ # The strategy is filter lines which don't have .rsg or .mbg dependencies in them and ++ # to sift each line to leave out non-relevant things like other header files, .hrh ++ # files etc. In the end don't print anything at all if we did not find the target. + +-CREATABLEPATHS:=$(RSCDIR) $(RSGDIR) $(OUTPUTPATH) ++define DEPENDENCY_CORRECTOR ++{ $(DEPCRUNCH) --extensions rsg,mbg --assume '$$$$(EPOCROOT)/epoc32/include' ; } ++endef + +-# additional binary resource copies performed based on BINCOPYDIRS +-RSCCOPYDIRS:= +-ifneq ($(BINCOPYDIRS),) +- RSCCOPYDIRS:=$(subst //,/,$(patsubst %,%/$(if $(TARGETPATH),/z/$(TARGETPATH),),$(BINCOPYDIRS))) +- CREATABLEPATHS:=$(CREATABLEPATHS) $(RSCCOPYDIRS) ++else ++ # This can correct the dependencies by assuming that the file will be in epoc32\include as this is the default ++ DEPENDENCY_CORRECTOR:=$(GNUSED) -r 's% ([^ \/]+\.((rsg)|(mbg)))% $(EPOCROOT)\/epoc32\/include\/\1%ig' + endif + +-############################################################################### +-define preprocessresource +-# $(1) is the RPPFILE (eg. /epoc32/build/xxx/b_sc.rpp) +-# $(2) is the related RESOURCEFILE if any (eg. /a/b.rsc) +-# $(3) is the LANGUAGE (eg. sc or 01 or 02 ...) + +- ifeq ($(TARGET_$(call sanitise,$1)),) +- TARGET_$(call sanitise,$1):=1 +- $(if $(FLMDEBUG),$(info preprocessresource: $(1) for $(2) LANG:$(3))) ++ ifeq "$1" "$3" ++ RESOURCE_DEPS:: $1.d + +- RESOURCE_DEPS:: $(1).d +- $(1).d: $(SOURCE) ++ $1.d: $(SOURCE) + $(call startrule,resourcedependencies,FORCESUCCESS) \ +- $(GNUCPP) -C -DLANGUAGE_$(3) -DLANGUAGE_$(subst sc,SC,$(3)) $(call makemacrodef,-D,$(MMPDEFS))\ +- $(CPPOPT) $(SOURCE) -M -MG -MT"$(1)" | \ +- $(GNUSED) -r 's# ([^ \/]+\.((rsg)|(mbg)))# $(EPOCROOT)\/epoc32\/include\/\1#ig' > $(1).d \ ++ $(GNUCPP) -DLANGUAGE_$2 -DLANGUAGE_$(subst sc,SC,$2) $(call makemacrodef,-D,$(MMPDEFS))\ ++ $(CPPOPT) $(SOURCE) -M -MG -MT"$1" | \ ++ $$(DEPENDENCY_CORRECTOR) >$$@ \ + $(call endrule,resourcedependencies) + +- $(1): $(1).d ++ $1 : $1.d ++ ++ else ++ $1 : $3 ++ endif ++ ++ $1: + $(call startrule,resourcepreprocess,FORCESUCCESS) \ +- $(GNUCPP) -C -DLANGUAGE_$(3) -DLANGUAGE_$(subst sc,SC,$(3)) $(call makemacrodef,-D,$(MMPDEFS))\ ++ $(GNUCPP) -C -DLANGUAGE_$2 -DLANGUAGE_$(subst sc,SC,$2) $(call makemacrodef,-D,$(MMPDEFS))\ + $(CPPOPT) $(SOURCE) -o $$@ \ + $(call endrule,resourcepreprocess) ++ endif + +- CLEANTARGETS:= $$(CLEANTARGETS) $(1) ++ CLEANTARGETS:= $$(CLEANTARGETS) $1 + +- $(eval DEPENDFILENAME:=$(1).d) ++ ifeq "$(MAKEFILE_GROUP)" "RESOURCE" ++ ifeq "$1" "$3" ++ $(eval DEPENDFILENAME:=$1.d) + $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME))) + + CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME) + ifneq "$(DEPENDFILE)" "" + ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" "" ++ ifeq "$(MAKEFILE_GROUP)" "RESOURCE" + -include $(DEPENDFILE) + endif + endif ++ endif ++ endif + + endif + endef # preprocessresource # +@@ -168,43 +170,30 @@ + ############################################################################### + define copyresource + # $(1) is the source +-# $(2) is the destination ++# $(2) is the space separated list of destinations which must be filenames + +-RELEASABLES:=$$(RELEASABLES) $(2) ++ RELEASABLES:=$$(RELEASABLES) $(2) + +- ifeq ($(TARGET_$(call sanitise,$2)),) +- TARGET_$(call sanitise,$2):=1 - CLEANTARGETS:=$$(CLEANTARGETS) $2 - - RESOURCE:: $2 - ## perform additional copies of binaries -@@ -201,7 +198,6 @@ +- +- RESOURCE:: $2 +- ## perform additional copies of binaries +- # +- # Only certain builds require further copies of the generated resource binaries +- # +- $(2): $(1) +- $(call startrule,resourcecopy,FORCESUCCESS) \ +- $(GNUCP) $$< $$@ \ +- $(call endrule,resourcecopy) +- +- endif ++ $(info $2) + + endef # copyresource # + + ############################################################################### + define generateresource + +-# $(1) is the resource filename e.g. /a/b/resource.rsc ++# $(1) is the intermediate resource filename with path e.g. /a/b/resource.rsc + # $(2) is the preprocessed resource to make it from + # $(3) is the language e.g. sc or 01 or 02 ++# $(4) is the target resource filename without path + +- RELEASABLES:=$$(RELEASABLES) $(1) ifeq ($(TARGET_$(call sanitise,$1)),) TARGET_$(call sanitise,$1):=1 - CLEANTARGETS:=$$(CLEANTARGETS) $(1) - $(if $(FLMDEBUG),$(info generateresource: $(1) from $(2) LANG:$(3)),) - -@@ -236,7 +232,6 @@ +- $(if $(FLMDEBUG),$(info generateresource: $(1) from $(2) LANG:$(3)),) ++ $(if $(FLMDEBUG),$(info generateresource: $(1) from $(2) LANG:$(3)),) ++ $(if $(FLMDEBUG),$(info generateresource: copies: $(sort $(patsubst %,%/$(notdir $(1)),$(RSCCOPYDIRS))))) + ++ CLEANTARGETS:=$$(CLEANTARGETS) $(1) + + RESOURCE:: $(1) + +@@ -214,11 +203,15 @@ + $(call endrule,resourcecompile) + + endif ++ + # Whether or not we have generated this resource for some other variant, check if there + # are any new copies to be made for this variant. e.g. winscw requires that we make +-# some extra copies. ++# some extra copies. We tried to copy after running rcomp itself but we still need these ++# targets for the sake of dependencies or, for example, if someone merely adds a new copy ++# when the resource is up-to-date ++ ++ $(call copyresource,$1,$(sort $(patsubst %,%/$4,$(RSCCOPYDIRS)))) + +- $(foreach F,$(sort $(patsubst %,%/$(notdir $(1)),$(RSCCOPYDIRS))),$(call copyresource,$(1),$(F))) + + # individual source file compilation + SOURCETARGET_$(call sanitise,$(SOURCE)): $(1) +@@ -236,8 +229,7 @@ ifeq ($(TARGET_$(call sanitise,$1)),) TARGET_$(call sanitise,$1):=1 - CLEANTARGETS:= $$(CLEANTARGETS) $(1) - $(if $(FLMDEBUG),$(info resourceheader: $(1) from $(2) LANG:$(3))) +- $(if $(FLMDEBUG),$(info resourceheader: $(1) from $(2) LANG:$(3))) ++ $(if $(FLMDEBUG),$(info resourceheader: $(1) from $(2) LANG:$(3))) RESOURCE:: $(1) -@@ -282,7 +277,6 @@ + +@@ -260,19 +252,28 @@ + # We always create at least the header + # even if we sometimes don't create the resources + ifneq ($(RESOURCEHEADER),) +- $(eval $(call generateresourceheader,$(RESOURCEHEADER),$(INTERBASE)_$(HEADLANG).rpp,$(HEADLANG))) ++ $(eval $(call generateresourceheader,$(RESOURCEHEADER),$(INTERBASE_TMP)_$(HEADLANG).rpp,$(HEADLANG))) + endif + ++# The one on which the others will depend i.e. they will ++# "sit in it's dependency slipstream" or in other words ++# We only have to make one dependency file because all of ++# the other languages will benefit from the dependency file ++# belonging to this language. ++PRIMARYRPPFILE:=$(INTERBASE_TMP)_$(HEADLANG).rpp + ifeq ($(HEADERONLY),) + # generate a resource file for each language + # For sc we generate $(RESBASE).rsc and define LANGUAGE_SC and LANGUAGE_sc. +- $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call preprocessresource,$(INTERBASE)_$(L).rpp,$(RESBASE).r$(L),$(L)))) +- $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call generateresource,$(RESBASE).r$(L),$(INTERBASE)_$(L).rpp,$(L)))) ++ $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call preprocessresource,$(INTERBASE_TMP)_$(L).rpp,$(L),$(PRIMARYRPPFILE)))) ++ ++ ifeq "$(MAKEFILE_GROUP)" "RESOURCE" ++ $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call generateresource,$(INTERBASE_TMP).r$(L),$(INTERBASE_TMP)_$(L).rpp,$(L),$(TARGET_lower).r$(L)))) ++ endif + else + # No resources are going to be made so unless we specifically ask for it, there will be no + # preprocessed file from which to create the header: + +- $(eval $(call preprocessresource,$(INTERBASE)_$(HEADLANG).rpp,,$(HEADLANG))) ++ $(eval $(call preprocessresource,$(INTERBASE_TMP)_$(HEADLANG).rpp,,$(HEADLANG),$(PRIMARYRPPFILE))) + + endif + +@@ -282,20 +283,19 @@ ifneq ($(RFIFILE),) RESOURCE:: $(RFIFILE) RELEASABLES:=$(RELEASABLES) $(RFIFILE) - CLEANTARGETS:=$(CLEANTARGETS) $(RFIFILE) - CREATABLEPATHS:=$(CREATABLEPATHS) $(dir $(RFIFILE)) - - RPPFILES:=$(foreach L,$(LANGUAGES:SC=sc),$(INTERBASE)_$(L).rpp) -@@ -291,11 +285,11 @@ +- CREATABLEPATHS:=$(CREATABLEPATHS) $(dir $(RFIFILE)) ++ CREATABLEPATHS:=$(CREATABLEPATHS) $(dir $(RFIFILE))/ + +- RPPFILES:=$(foreach L,$(LANGUAGES:SC=sc),$(INTERBASE)_$(L).rpp) +- $(eval $(call generaterfifile,$(RFIFILE),$(RPPFILES),$(addsuffix .d,$(RPPFILES)))) ++ RPPFILES:=$(foreach L,$(LANGUAGES:SC=sc),$(INTERBASE_TMP)_$(L).rpp) ++ $(eval $(call generaterfifile,$(RFIFILE),$(RPPFILES),$(PRIMARYRPPFILE).d)) + endif ## Clean up @@ -6311,7 +6844,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm: run.mk 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/standard.xml 2010-05-17 18:47:53.056842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/standard.xml 2010-06-04 12:09:24.987850000 +0100 @@ -5,11 +5,12 @@ @@ -6335,7 +6868,15 @@ -@@ -58,9 +60,9 @@ +@@ -38,6 +40,7 @@ + + + ++ + + + +@@ -58,9 +61,9 @@ @@ -6346,15 +6887,16 @@ -@@ -72,7 +74,6 @@ +@@ -72,7 +75,7 @@ - ++ -@@ -92,8 +93,9 @@ +@@ -92,8 +95,9 @@ @@ -6365,7 +6907,7 @@ -@@ -105,7 +107,6 @@ +@@ -105,7 +109,6 @@ @@ -6373,7 +6915,7 @@ -@@ -116,6 +117,7 @@ +@@ -116,14 +119,15 @@ @@ -6381,7 +6923,8 @@ -@@ -124,6 +126,7 @@ +- + @@ -6389,7 +6932,7 @@ -@@ -144,6 +147,8 @@ +@@ -144,6 +148,8 @@ @@ -6398,7 +6941,7 @@ -@@ -158,6 +163,7 @@ +@@ -158,6 +164,7 @@ @@ -6406,7 +6949,7 @@ -@@ -167,6 +173,7 @@ +@@ -167,10 +174,12 @@ @@ -6414,7 +6957,12 @@ -@@ -207,6 +214,10 @@ + ++ + + + +@@ -207,6 +216,10 @@ @@ -6425,7 +6973,7 @@ -@@ -229,6 +240,8 @@ +@@ -229,6 +242,8 @@ @@ -6436,7 +6984,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/stringtable.flm 2010-05-17 18:47:53.056842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/stringtable.flm 2010-06-04 12:09:24.987850000 +0100 @@ -33,9 +33,7 @@ EXPORT:: @@ -6485,7 +7033,7 @@ -# 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 --- /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 -+++ /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 ++++ /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 @@ -81,11 +81,10 @@ # to be target specific to the unique targets # that we have created. @@ -6527,7 +7075,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2common.flm 2010-05-17 18:47:53.068842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2common.flm 2010-06-04 12:09:25.003850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -6609,7 +7157,7 @@ ## The End 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2exe.flm 2010-05-17 18:47:53.068842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2exe.flm 2010-06-04 12:09:25.003850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -6658,7 +7206,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2lib.flm 2010-05-17 18:47:53.068842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools2lib.flm 2010-06-04 12:09:25.003850000 +0100 @@ -19,7 +19,7 @@ LIBTARGET:=$(RELEASEPATH)/$(TARGET).a @@ -6670,7 +7218,7 @@ ## Common build steps (compiling) 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools.xml 2010-05-17 18:47:53.068842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tools.xml 2010-06-04 12:09:25.003850000 +0100 @@ -27,6 +27,7 @@ @@ -6697,7 +7245,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tracecompiler.mk 2010-05-17 18:47:53.068842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/tracecompiler.mk 2010-06-04 12:09:25.007850000 +0100 @@ -1,5 +1,4 @@ -# -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -6705,53 +7253,116 @@ # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" -@@ -13,15 +12,44 @@ +@@ -13,61 +12,221 @@ # # Description: # Run Trace Compiler on source files to generate trace headers and decode files -# ++# Expected inputs: ++# TARGETEXT ++ +# Set project name as TRACE_PRJNAME:=$(basename $(notdir $(PROJECT_META))) -+ -+TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(POSTLINKFILETYPE)) -+ - # Find out TRACE_PATH -+# first look for .*/traces/traces__ -+TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces/traces_$(TARGET)_$(TARGETEXT),$(DIR)))) -+ +-# Find out TRACE_PATH +-TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces_$(TRACE_PRJNAME),$(DIR)))) +-ifeq ($(TRACE_PATH),) +-TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces,$(DIR)))) ++OLDTC_TRACE_PRJNAME:=$(TRACE_PRJNAME) ++TRACE_RELEASABLE_ID:=$(TARGET)_$(TARGETEXT) ++ ++define get_trace_path ++$(firstword $(filter %$1, $(USERINCLUDE) $(SYSTEMINCLUDE))) ++endef ++ ++$(if $(FLMDEBUG),$(info INCLUDES=$(USERINCLUDE) $(SYSTEMINCLUDE))) ++$(if $(FLMDEBUG),$(info TARGET=$(TARGET) TARGETEXT=$(TARGETEXT))) ++ ++# Find out TRACE_PATH by looking for the trace folder in SYSTEMINCLUDE and USERINCLUDES ++# traces/traces__ ++TRACE_PATH:=$(call get_trace_path,/traces/traces_$(TRACE_RELEASABLE_ID)) +ifneq ($(TRACE_PATH),) -+# set project name as _ instead of -+TRACE_PRJNAME:=$(TARGET)_$(TARGETEXT) -+endif -+ -+# if not found look for .*/traces_ -+ifeq ($(TRACE_PATH),) - TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces_$(TRACE_PRJNAME),$(DIR)))) -+endif -+ -+# if not found look for .*/traces - ifeq ($(TRACE_PATH),) - TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces,$(DIR)))) ++ TRACE_PRJNAME:=$(TRACE_RELEASABLE_ID) ++else # obsolete forms for compatibility ++ # traces__ ++ TRACE_PATH:=$(call get_trace_path,/traces_$(TARGET)_$(TARGETEXT)) ++ ifneq ($(TRACE_PATH),) ++ # set project name as _ instead of ++ # to trick old TCom into finding the path. ++ OLDTC_TRACE_PRJNAME:=$(TARGET)_$(TARGETEXT) ++ else ++ # traces__ ++ TRACE_PATH:=$(call get_trace_path,/traces_$(TARGET)_$(TARGETTYPE)) ++ ifneq ($(TRACE_PATH),) ++ # set project name as _ instead of ++ # to trick old TCom into finding the path. ++ OLDTC_TRACE_PRJNAME:=$(TARGET)_$(TARGETTYPE) ++ else ++ # traces_ ++ TRACE_PATH:=$(call get_trace_path,/traces_$(TRACE_PRJNAME)) ++ ++ # traces ++ ifeq ($(TRACE_PATH),) ++ TRACE_PATH:=$(call get_trace_path,/traces) ++ endif ++ endif ++ endif endif -+# if not found look for .*/traces__ -+ifeq ($(TRACE_PATH),) -+TRACE_PATH:=$(strip $(foreach DIR,$(USERINCLUDE),$(filter %/traces_$(TARGET)_$(TARGETTYPE),$(DIR)))) -+# set project name as _ instead of -+TRACE_PRJNAME:=$(TARGET)_$(TARGETTYPE) -+endif + +# initialise (so what output will be correct if we don't actually run the TC) +TRACE_DICTIONARY:= +AUTOGEN_HEADER:= -+ -+$(if $(FLMDEBUG),$(info TRACE_PATH = $(TRACE_PATH))) ++$(if $(FLMDEBUG),$(info TRACE_PATH='$(TRACE_PATH)' TRACE_RELEASABLE_ID='$(TRACE_RELEASABLE_ID)')) + # Run trace compiler only if TRACE_PATH exists ifneq ($(TRACE_PATH),) - TRACE_MARKER:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_PRJNAME)_$(UID_TC).done -@@ -37,14 +65,24 @@ +-TRACE_MARKER:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_PRJNAME)_$(UID_TC).done ++TRACE_MARKER:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).done + TRACE_HEADERS:= + +-TRACE_SOURCE_LIST:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_PRJNAME)_$(UID_TC).sourcelist ++TRACE_SOURCE_LIST:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).sourcelist ++TRACE_VARIANT_SOURCE_LIST:=$(OUTPUTPATH)/$(VARIANTPLATFORM)/$(VARIANTTYPE)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).sourcelist ++ ++# The sourcelist_grouped_write macro allows us to construct a source list file, 10 objects at a time ++# to avoid limits on argument lengths and sizes on Windows. ++# $1 = list of source files ++# $2 = ">" or ">>" i.e. for creating the file. ++define sourcelist_grouped_write ++ $(call startrule,sourcelist_write) \ ++ $(if $1,echo -en '$(subst $(CHAR_SPACE),\n,$(strip $(wordlist 1,10,$1)))\n' $2 $$@,true) \ ++ $(call endrule,sourcelist_write) ++ $(if $1,$(call sourcelist_grouped_write,$(wordlist 11,$(words $1),$1),>>),) ++endef ++ ++# Write the list of sources for this variant to a file ++# Make the combined sourcelist for this target depend on it ++# It's all to do with how make treats this file when it ++# does exist. We are forcing it evaluate the target rule here ++# even if the file is in place by making it PHONY. In other ++# words, this is forcing the variant source list to always ++# be written but later on we might not write to the combined ++# source list if it isn't going to change. ++define sourcelist_write ++$(TRACE_SOURCE_LIST): $(TRACE_VARIANT_SOURCE_LIST) + +-# 1. Append to or create the list of source files for trace compiler to process +-# 2. Check if the hash in trace marker remain unchanged. If not, remove marker so trace compiler will run again. +-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)) ++.PHONY:: $(TRACE_VARIANT_SOURCE_LIST) + +-$(if $(FLMDEBUG),$(info Trace Compiler sourcelist generation output: $(X))) ++$(TRACE_VARIANT_SOURCE_LIST): $(SOURCE) ++ $(call sourcelist_grouped_write,$(SOURCE),>) ++ ++endef ++ ++$(eval $(sourcelist_write)) ++$(eval $(call GenerateStandardCleanTarget,$(TRACE_VARIANT_SOURCE_LIST),,)) ++ ++ ++$(if $(FLMDEBUG),$(info Trace Compiler SOURCES: $(SOURCE))) $(TRACE_MARKER) : $(SOURCE) @@ -6762,49 +7373,130 @@ ifeq ($(GUARD_$(call sanitise,$(TRACE_MARKER))),) GUARD_$(call sanitise,$(TRACE_MARKER)):=1 ++$(if $(FLMDEBUG),$(info PAST MARKER='$(TRACE_RELEASABLE_ID)')) +# The trace compiler likes to change . into _ so we must do the same in the case of mmps with a name like +# fred.prd.mmp we want fred_prd +TRACE_PRJNAME_SANITISED:=$(subst .,_,$(TRACE_PRJNAME)) -+ -+TRACE_DICTIONARY:=$(EPOCROOT)/epoc32/ost_dictionaries/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_Dictionary.xml -+AUTOGEN_HEADER:=$(EPOCROOT)/epoc32/include/internal/SymbianTraces/autogen/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_TraceDefinitions.h ++OLDTC_TRACE_PRJNAME_SANITISED:=$(subst .,_,$(OLDTC_TRACE_PRJNAME)) ++ + JAVA_COMMAND:=$(SBS_JAVATC) TRACE_COMPILER_PATH:=$(EPOCROOT)/epoc32/tools - TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompiler +-TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompiler -TRACE_HEADERS:=$(foreach SRC,$(SOURCE),$(TRACE_PATH)/$(basename $(notdir $(SRC)))Traces.h) - ++# declare the trace_compile macro but only do it once in the build ++ifeq ($(trace_compile),) + ++# Find out which macro to declare - the one supporting the new CLI ++# or the old one. First try to find TraceCompilerMain.class ++# If it is there then it might be the new posix-like interface ++TRACE_VER:= ++TRACE_VSTR:= ++ ++TCClass:=$(wildcard $(TRACE_COMPILER_PATH)/tracecompiler/com/nokia/tracecompiler/TraceCompilerMain.class) ++ifneq ($(TCClass),) ++# Get the version string from the TC (assume it's the new one) ++TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompilerMain ++TRACE_VSTR:=$(firstword $(subst TraceCompiler version ,,$(shell $(JAVA_COMMAND) $(TRACE_COMPILER_START) --version))) ++# check if it looks like a version that supports the new cli interface: supporting up to verion 9 in the future. ++TRACE_VER:=$(findstring new,$(foreach version,2 3 4 5 6 7 8 9,$(patsubst $(version).%,new,$(TRACE_VSTR)))) ++endif ++$(if $(FLMDEBUG),$(info TRACE_VSTR=$(TRACE_VSTR) TRACE_VER=$(TRACE_VER))) ++ ++ ++# 0. Generate a combined sourcelist from all variants. ++# 0.1 Write the combined list to a temporary file ++# 0.2 Check if there are new files since the last build ++# md5 stored in the trace marker. ++# 0.3 Rewrite the combined sourcelist if new sourcefiles have appeared ++# since the last build # 1. Use pipe to send inputs to trace compiler to process # 2. Create a hash regarding to source names and put it in marker. -@@ -56,18 +94,21 @@ + # 3. Show source names that are processed by trace compiler ++ ++ifeq ($(TRACE_VER),new) ++define trace_compile ++ ++$(TRACE_SOURCE_LIST): ++ $(call startrule,sourcelist_combine) \ ++ $(GNUCAT) $(TRACE_SOURCE_LIST) $$^ 2>/dev/null | $(GNUSORT) -u > $$@.new && \ ++ $(GNUMD5SUM) -c $(TRACE_MARKER) 2>/dev/null || \ ++ $(GNUCP) $$@.new $$@ \ ++ $(call endrule,sourcelist_combine) ++ ++$(TRACE_MARKER) : $(PROJECT_META) $(TRACE_SOURCE_LIST) ++ $(call startrule,tracecompile) \ ++ ( $(GNUCAT) $(TRACE_SOURCE_LIST); \ ++ echo -en "*ENDOFSOURCEFILES*\n" ) | \ ++ $(JAVA_COMMAND) $(TRACE_COMPILER_START) $(if $(FLMDEBUG),-d,) --uid=$(UID_TC) --project=$(TRACE_PRJNAME) --mmp=$(PROJECT_META) --traces=$(TRACE_PATH) && \ ++ $(GNUMD5SUM) $(TRACE_SOURCE_LIST).new > $$@ 2>/dev/null && \ ++ { $(GNUTOUCH) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER); \ ++ $(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \ ++ $(call endrule,tracecompile) ++endef ++ ++else # Old inteface ++TRACE_COMPILER_START:=-classpath $(TRACE_COMPILER_PATH)/tracecompiler com.nokia.tracecompiler.TraceCompiler ++ + define trace_compile +-$(TRACE_MARKER) : $(PROJECT_META) ++ ++$(TRACE_SOURCE_LIST): ++ $(call startrule,sourcelist_combine) \ ++ $(GNUCAT) $(TRACE_SOURCE_LIST) $$^ 2>/dev/null | $(GNUSORT) -u > $$@.new && \ ++ $(GNUMD5SUM) -c $(TRACE_MARKER) 2>/dev/null || \ ++ $(GNUCP) $$@.new $$@ \ ++ $(call endrule,sourcelist_combine) ++ ++$(TRACE_MARKER) : $(PROJECT_META) $(TRACE_SOURCE_LIST) + $(call startrule,tracecompile) \ +- ( echo -en "$(TRACE_PRJNAME)\n$(PROJECT_META)\n"; \ ++ ( echo -en "$(OLDTC_TRACE_PRJNAME)\n$(PROJECT_META)\n"; \ $(GNUCAT) $(TRACE_SOURCE_LIST); \ echo -en "*ENDOFSOURCEFILES*\n" ) | \ $(JAVA_COMMAND) $(TRACE_COMPILER_START) $(UID_TC) && \ - $(GNUMD5SUM) $(TRACE_SOURCE_LIST) > $(TRACE_MARKER) ; \ - $(GNUCAT) $(TRACE_SOURCE_LIST) \ -+ $(GNUMD5SUM) $(TRACE_SOURCE_LIST) > $(TRACE_MARKER) && \ ++ $(GNUMD5SUM) $(TRACE_SOURCE_LIST).new > $$@ 2>/dev/null && \ + { $(GNUTOUCH) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER); \ + $(GNUCAT) $(TRACE_SOURCE_LIST) ; true ; } \ $(call endrule,tracecompile) endef ++# End - new/old trace compiler ++endif ++ ++# End - tracecompile is defined ++endif ++ ++ifeq ($(TRACE_VER),new) ++TRACE_DICTIONARY:=$(EPOCROOT)/epoc32/ost_dictionaries/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_Dictionary.xml ++AUTOGEN_HEADER:=$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/$(TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_TraceDefinitions.h ++else ++TRACE_DICTIONARY:=$(EPOCROOT)/epoc32/ost_dictionaries/$(OLDTC_TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_Dictionary.xml ++AUTOGEN_HEADER:=$(EPOCROOT)/epoc32/include/internal/symbiantraces/autogen/$(OLDTC_TRACE_PRJNAME_SANITISED)_0x$(UID_TC)_TraceDefinitions.h ++endif ++ $(eval $(trace_compile)) -$(eval $(call GenerateStandardCleanTarget,$(TRACE_HEADERS) $(TRACE_PATH)/tracebuilder.cache $(TRACE_MARKER) $(TRACE_SOURCE_LIST),,)) +$(eval $(call GenerateStandardCleanTarget, $(TRACE_PATH)/tracebuilder.cache $(TRACE_MARKER) $(TRACE_SOURCE_LIST),,)) - # End sanity guard +-# End sanity guard ++$(call makepath,$(TRACE_PATH) $(dir $(TRACE_DICTIONARY) $(AUTOGEN_HEADER))) ++# End - guard that prevents repeated calls to TCom endif +$(eval $(call GenerateStandardCleanTarget,$(TRACE_HEADERS),,)) + ++# End - Nothing to trace (not trace path in include) else # Indicate to following parts of the FLM that we actually won't run # trace compiler so they can set dependencies accordingly. 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32dll.flm 2010-05-17 18:47:53.072842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32dll.flm 2010-06-04 12:09:25.007850000 +0100 @@ -30,5 +30,5 @@ include $(FLMHOME)/win32.flm @@ -6814,7 +7506,7 @@ endif 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32.flm 2010-05-17 18:47:53.072842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32.flm 2010-06-04 12:09:25.007850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -6861,7 +7553,15 @@ CFLAGS:=$(CFLAGS) $(OPT.DEPEND) endif -@@ -197,7 +205,7 @@ +@@ -191,13 +199,14 @@ + endif + + +-BINTARGET:=$(BINDIR)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE)) ++TARGETEXT:=$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE)) ++BINTARGET:=$(BINDIR)/$(TARGET).$(TARGETEXT) + + # Run trace compiler ##################################### TRACE_MARKER_PATH:=$(OUTPUTPATH) @@ -6870,15 +7570,26 @@ ifeq ($(UID2),) USE_TRACE_COMPILER:= else -@@ -211,6 +219,7 @@ +@@ -210,7 +219,9 @@ + # USE_TRACE_COMPILER defaults to blank in Raptor config. # Users can turn TC on by setting it to 1 in user config. ifneq ($(USE_TRACE_COMPILER),) ++ # TARGETEXT must be set before here include $(FLMHOME)/tracecompiler.mk + TC_RELEASABLES:=$(TRACE_DICTIONARY) $(AUTOGEN_HEADER) endif -@@ -243,7 +252,6 @@ +@@ -218,7 +229,7 @@ + ## IMPORT LIBRARY ## + #################### + +-IMPORTLIBLINKAS:=$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE)) ++IMPORTLIBLINKAS:=$(TARGET).$(TARGETEXT) + # LINKAS, if supplied, only applies to IMPLIB TARGETTYPEs + ifeq ($(BASE_TYPE),importlib) + ifneq ($(LINKAS),) +@@ -243,7 +254,6 @@ ifeq ($(SUPPORTS_IMPORT_LIBRARY),1) ifneq ($(NOEXPORTLIBRARY),1) ifneq ($(TARGET_$(call sanitise,$(IMPORTLIBTARGET))),1) @@ -6886,15 +7597,19 @@ RELEASABLES:=$(RELEASABLES) $(if $(or $(EXPORTUNFROZEN),$(DEFFILE)),$(IMPORTLIBTARGET)) # import libraries are generated to the UDEB release directory -@@ -290,7 +298,6 @@ - BINTARGETSTATICLINK:=$(BINDIRSTATICLINK)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE)) +@@ -287,10 +297,9 @@ + ############# + + ifeq ($(COPY_FOR_STATIC_LINKAGE),1) +- BINTARGETSTATICLINK:=$(BINDIRSTATICLINK)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE)) ++ BINTARGETSTATICLINK:=$(BINDIRSTATICLINK)/$(TARGET).$(TARGETEXT) endif - CLEANTARGETS:=$(CLEANTARGETS) $(BINTARGET) $(BINTARGETSTATICLINK) RELEASABLES:=$(RELEASABLES) $(BINTARGET) $(BINTARGETSTATICLINK) # work on a local source files list -@@ -368,20 +375,21 @@ +@@ -368,20 +377,21 @@ $(eval DEPENDFILENAME:=$(call mapwin32file,$(1),.o.d)) $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME))) @@ -6923,7 +7638,7 @@ -include $(DEPENDFILE) endif endif -@@ -412,24 +420,28 @@ +@@ -412,24 +422,28 @@ STDMWCINCLUDEPATHS:=$(if $(MWCSym2Includes),$(MWCSym2Includes),$(MWCSYM2INCLUDES)) define win32resourcecompile @@ -6959,7 +7674,7 @@ -include $(DEPENDFILE) endif endif -@@ -463,7 +475,6 @@ +@@ -463,7 +477,6 @@ # link map file (urel only) ifeq ($(VARIANTTYPE),urel) MAP:=$(OPT.MAP)$(BINTARGET).map @@ -6967,7 +7682,25 @@ RELEASABLES:=$(RELEASABLES) $(BINTARGET).map endif endif -@@ -677,12 +688,11 @@ +@@ -524,7 +537,7 @@ + TMP_IMPLIB:=$(BLDDIR)/$(TARGET).lib + TMP_INFFILE:=$(BLDDIR)/$(TARGET).inf + TMP_SYMFILE:=$(if $(OPEN_ENVIRONMENT),$(BLDDIR)/$(TARGET).sym,) +- TMP_TARGET:=$(BLDDIR)/$(TARGET).$(if $(REQUESTEDTARGETEXT),$(REQUESTEDTARGETEXT),$(TARGETTYPE)) ++ TMP_TARGET:=$(BLDDIR)/$(TARGET).$(TARGETEXT) + TMP_DEFFILE:=$(BLDDIR)/$(TARGET).def + + CLEANTARGETS:=$(CLEANTARGETS) $(TMP_IMPLIB) $(TMP_INFFILE) $(TMP_TARGET) $(TMP_DEFFILE) $(TMP_SYMFILE) +@@ -565,7 +578,7 @@ + $(call groupin10,$(notdir $(OBJECTFILES))) ; + $(call startrule,win32stageonelink) \ + $(if $(SUPPORTS_STDCPP_NEWLIB),$(if $(STATICLIBFILES),$(CHECKLIB) $(CHECKLIB_TYPE) $(OPT.CHECKLIB.WIN32) $(STATICLIBFILES) &&,),) \ +- 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) \ ++ 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) \ + $(call endrule,win32stageonelink) + endef + $(eval $(win32stageonelink)) +@@ -677,12 +690,11 @@ BATCHFILE_CREATED_$(BATCHDIR)$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH):=1 TARGET_CREATED_$(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH)_$(TARGET):=1 RELEASABLES:=$(RELEASABLES) $(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TESTPATH) @@ -6986,7 +7719,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm: win32pdll.flm 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32plugin.flm 2010-05-17 18:47:53.076842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/lib/flm/win32plugin.flm 2010-06-04 12:09:25.011850000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -7024,7 +7757,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor: notes 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_interface.py 2010-05-17 18:47:53.080842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_interface.py 2010-06-04 12:09:25.019850000 +0100 @@ -18,7 +18,7 @@ class Filter(object): @@ -7124,9 +7857,89 @@ + + +# the end +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 +--- /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 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_list.py 2010-06-04 12:09:25.019850000 +0100 +@@ -1,5 +1,5 @@ + # +-# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). ++# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). + # All rights reserved. + # This component and the accompanying materials are made available + # under the terms of the License "Eclipse Public License v1.0" +@@ -19,6 +19,7 @@ + import os + import sys + import raptor ++import re + import filter_interface + import pluginbox + import traceback +@@ -64,7 +65,23 @@ + """Nothing to do for stdout""" + return True + ++def SplitList(listString): ++ """turn a CLI filter string into a list of (class, param) pairs. + ++ for example, "foo[a,b],bar[c,d]" ++ ++ becomes [ ("foo", ["a","b"]) , ("bar", ["c","d"]) ] ++ """ ++ matches = re.findall("(\w+)(\[([^\[\]]*)\])?,?", listString) ++ ++ pairs = [] ++ for m in matches: ++ classname = m[0] ++ if len(m[2]) > 0: ++ pairs.append( (classname, m[2].split(",")) ) ++ else: ++ pairs.append( (classname, []) ) ++ return pairs + + class FilterList(filter_interface.Filter): + +@@ -81,14 +98,31 @@ + # Find all the filter plugins + self.pbox = pbox + possiblefilters = self.pbox.classesof(filter_interface.Filter) ++ filterdict = {} ++ for p in possiblefilters: ++ name = p.__name__.lower() ++ if name in filterdict: ++ raise ValueError("filters found in SBS_HOME/python/plugins which have duplicate name: %s " % p.__name__) ++ else: ++ filterdict[name] = p ++ ++ # turn "filternames" into a list of (classname, parameters) pairs ++ filterCalls = SplitList(filternames) ++ ++ # look for each filter class in the box + unfound = [] + self.filters = [] +- for f in filternames: +- unfound.append(f) # unfound unless we find it +- for pl in possiblefilters: +- if pl.__name__.upper() == f.upper(): +- self.filters.append(pl()) +- unfound = unfound[:-1] ++ for (f, params) in filterCalls: ++ # if the filter exists and is a valid filter use it ++ if f.lower() in filterdict: ++ if params: ++ self.filters.append(filterdict[f.lower()](params)) ++ else: ++ self.filters.append(filterdict[f.lower()]()) ++ else: ++ # record missing filters ++ unfound.append(f) ++ + if unfound != []: + raise ValueError("requested filters not found: %s \ + \nAvailable filters are: %s" % (str(unfound), self.format_output_list(possiblefilters))) 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_utils.py 2010-05-17 18:47:53.080842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/filter_utils.py 2010-06-04 12:09:25.019850000 +0100 @@ -198,12 +198,16 @@ def isError(self, aLine): """Convenience matcher for basic errors. @@ -7172,7 +7985,7 @@ + return False 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/generic_path.py 2010-05-17 18:47:53.084842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/generic_path.py 2010-06-04 12:09:25.019850000 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -7227,7 +8040,7 @@ 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 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/mmpparser.py 2010-05-18 19:32:34.785348756 +0100 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/mmpparser.py 2010-05-17 18:47:53.084842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/mmpparser.py 2010-06-04 12:09:25.019850000 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -7255,7 +8068,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_bz2log.py 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 --- /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 -+++ /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 ++++ /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 @@ -129,5 +129,4 @@ FilterCarbide.stdout.write("Overall Errors: %d\n" % self.__errors) FilterCarbide.stdout.write("Overall Warnings: %d\n\n" % self.__warnings) @@ -7267,7 +8080,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_check.py 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 --- /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 -+++ /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 ++++ /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 @@ -224,11 +224,11 @@ # Do the check for each file @@ -7293,7 +8106,7 @@ if not os.path.exists(path): 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 --- /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 -+++ /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 ++++ /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 @@ -51,17 +51,23 @@ if self.removeTargets: @@ -7397,9 +8210,11 @@ - # the end +Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_component.py +Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_copyfile.py 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 --- /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 -+++ /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 ++++ /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 @@ -16,6 +16,7 @@ # Will ultimately do everything that scanlog does # @@ -7419,7 +8234,7 @@ return False 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 --- /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 -+++ /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 ++++ /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 @@ -16,6 +16,7 @@ # Will ultimately do everything that scanlog does # @@ -7440,7 +8255,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_tagcount.py 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 --- /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 -+++ /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 ++++ /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 @@ -1,5 +1,5 @@ # -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -7579,7 +8394,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/plugins: filter_whatcomp.py 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 --- /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 -+++ /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 ++++ /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 @@ -1,5 +1,5 @@ # -# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -7656,7 +8471,20 @@ self.what = build_parameters.doWhat self.outfile = sys.stdout -@@ -78,6 +107,11 @@ +@@ -63,12 +92,6 @@ + # when --check and --what are called + self.repetitions = {} + +- "Regex for old what output" +- if "win" in self.buildparameters.platform: +- self.regex = re.compile("^[a-zA-Z]:\S+$") +- else: +- self.regex = re.compile("^/\S+$") +- + "Regex for targets" + self.target_regex = re.compile("^<(build|stringtable|resource|bitmap)>.*") + +@@ -78,6 +101,11 @@ "Regex for zip exports" self.zip_export_regex = re.compile("^.*") @@ -7668,7 +8496,7 @@ self.ok = True return self.ok -@@ -87,10 +121,22 @@ +@@ -87,13 +115,21 @@ for line in text.splitlines(): line = line.rstrip() @@ -7687,11 +8515,13 @@ self.repetitions[line] = 0 if self.repetitions[line] == 0: -+ - if self.regex.match(line) and (self.what or self.check): - "Print the whole line" - self.print_file(line, (-1), len(line)) -@@ -116,10 +162,34 @@ +- if self.regex.match(line) and (self.what or self.check): +- "Print the whole line" +- self.print_file(line, (-1), len(line)) + + if self.target_regex.match(line): + "Grab the filename between and " +@@ -116,10 +152,34 @@ self.print_file(line, start, end) @@ -7726,10 +8556,11 @@ def close(self): if self.outfile_close: self.outfile.close() +Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python: raptor_api.py Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python: raptor_buildplatform.py 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_cache.py 2010-05-17 18:47:53.092842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_cache.py 2010-06-04 12:09:25.031849000 +0100 @@ -143,7 +143,6 @@ self.WarnDuplicate("group", self.groups[obj.name], obj) return @@ -7764,7 +8595,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_cli.py 2010-05-17 18:47:53.092842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_cli.py 2010-06-04 12:09:25.031849000 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -7772,7 +8603,21 @@ # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" -@@ -34,7 +34,7 @@ +@@ -18,13 +18,8 @@ + # by a raptor.Raptor object. + # + +-import re + import types + import raptor +-import os +-import sys +-import tempfile +-from raptor_utilities import getOSPlatform + + from optparse import OptionParser # for parsing command line parameters + +@@ -34,7 +29,7 @@ # raptor_cli module attributes parser = OptionParser(prog = raptor.name, @@ -7781,7 +8626,7 @@ Targets: -@@ -47,7 +47,7 @@ +@@ -47,7 +42,7 @@ LIBRARY Create import libraries from frozen .DEF files LISTING Create assembler listing files for source files REALLYCLEAN Same as CLEAN but also remove exported files @@ -7790,7 +8635,7 @@ ROMFILE Create an IBY file to be included in a ROM TARGET Create main executables WHAT List all releaseable targets -@@ -87,6 +87,9 @@ +@@ -87,6 +82,9 @@ parser.add_option("--export-only",action="store_true",dest="doExportOnly", help="Generate exports only and do not create any make files.") @@ -7800,7 +8645,7 @@ parser.add_option("-f","--logfile",action="store",dest="logfile", help="Name of the log file, or '-' for stdout.") -@@ -117,6 +120,9 @@ +@@ -117,6 +115,9 @@ parser.add_option("--no-depend-include",action="store_true",dest="noDependInclude", help="Do not include generated dependency files. This is only useful for extremely large non-incremental builds.") @@ -7810,7 +8655,26 @@ parser.add_option("-o","--orderlayers",action="store_true",dest="sys_def_order_layers", help="Build layers in the System Definition XML file in the order listed or, if given, in the order of -l options.") -@@ -144,10 +150,15 @@ +@@ -126,6 +127,18 @@ + parser.add_option("-q","--quiet",action="store_true",dest="quiet", + help="Run quietly, not generating output messages.") + ++parser.add_option("--query",action="append",dest="query", ++ help="""Access various build settings and options using a basic API. The current options are: ++ ++ * aliases - return all the values that can be sensibly used with the sbs -c option. ++ ++ * products - return all the values that can be "." appended to an alias to specialise it for a product build. ++ ++ * 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. ++ ++ Multiple --query options can be given. ++ """) ++ + parser.add_option("-s","--sysdef",action="store",dest="sys_def_file", + help="System Definition XML filename.") + +@@ -144,10 +157,15 @@ "forced" - Check all tool versions. Don't use cached results. """) @@ -7826,11 +8690,14 @@ "off" - Parse bld.infs serially """) -@@ -236,12 +247,7 @@ - - # the leftover_args are either variable assignments of the form a=b - # or target names. +@@ -234,14 +252,8 @@ + # parse the full set of arguments + (options, leftover_args) = parser.parse_args(expanded_args) + +- # the leftover_args are either variable assignments of the form a=b +- # or target names. - regex = re.compile("^(.+)=(.*)$") ++ # the leftover_args are target names. for leftover in leftover_args: - assignment = regex.findall(leftover) - if len(assignment) > 0: @@ -7839,7 +8706,7 @@ Raptor.AddTarget(leftover) # Define the dictionary of functions to be used. -@@ -260,11 +266,13 @@ +@@ -260,19 +272,23 @@ 'quiet' : Raptor.RunQuietly, 'debugoutput' : Raptor.SetDebugOutput, 'doExportOnly' : Raptor.SetExportOnly, @@ -7852,8 +8719,10 @@ + 'noDependGenerate': Raptor.SetNoDependGenerate, 'number_of_jobs': Raptor.SetJobs, 'project_name' : Raptor.AddProject, ++ 'query' : Raptor.AddQuery, 'filter_list' : Raptor.FilterList, -@@ -273,6 +281,7 @@ + 'ignore_os_detection': Raptor.IgnoreOsDetection, + 'check' : Raptor.SetCheck, 'what' : Raptor.SetWhat, 'tries' : Raptor.SetTries, 'toolcheck' : Raptor.SetToolCheck, @@ -7863,7 +8732,7 @@ 'parallel_parsing' : Raptor.SetParallelParsing, 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_data.py 2010-05-17 18:47:53.096843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_data.py 2010-06-04 12:09:25.035850000 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -8444,16 +9313,30 @@ """Returns a list of BuildUnits. This function must be overridden by derived classes. -@@ -830,6 +829,8 @@ +@@ -830,10 +829,13 @@ class Variant(Model, Config): -+ __slots__ = ('cache','name','host','extends','ops','variantRefs','allOperations') ++ __slots__ = ('cache','name','type','host','extends','ops','variantRefs','allOperations') + def __init__(self, name = ""): Model.__init__(self) Config.__init__(self) -@@ -868,20 +869,10 @@ + self.name = name ++ self.type = "" + + # Operations defined inside this variant. + self.ops = [] +@@ -854,6 +856,8 @@ + self.host = value + elif name == "extends": + self.extends = value ++ elif name == "type": ++ self.type = value + else: + raise InvalidPropertyError() + +@@ -868,20 +872,10 @@ def Valid(self): return self.name @@ -8475,7 +9358,7 @@ """Returns a list of all operations in this variant. The list elements are themselves lists; the overall structure of the -@@ -892,16 +883,16 @@ +@@ -892,16 +886,16 @@ if not self.allOperations: if self.extends: @@ -8497,7 +9380,7 @@ name = self.name vars = [self] -@@ -909,32 +900,46 @@ +@@ -909,32 +903,46 @@ for m in self.modifiers: name = name + "." + m.name vars.append(m) @@ -8556,7 +9439,11 @@ class Alias(Model, Config): -@@ -946,8 +951,8 @@ +@@ -943,11 +951,12 @@ + Config.__init__(self) + self.name = name + self.meaning = "" ++ self.type = "" self.varRefs = [] self.variants = [] @@ -8567,12 +9454,14 @@ def SetProperty(self, key, val): if key == "name": -@@ -956,45 +961,53 @@ +@@ -956,45 +965,55 @@ self.meaning = val for u in val.split("."): - self.varRefs.append( VariantRef(u) ) + self.varRefs.append( VariantRef(ref = u) ) ++ elif key == "type": ++ self.type = val else: raise InvalidPropertyError() @@ -8635,7 +9524,7 @@ except KeyError: raise BadReferenceError(self.ref) -@@ -1018,41 +1031,39 @@ +@@ -1018,41 +1037,39 @@ else: raise InvalidChildError() @@ -8695,7 +9584,7 @@ return units -@@ -1062,19 +1073,102 @@ +@@ -1062,19 +1079,102 @@ def __init__(self, ref=None): Reference.__init__(self, ref) @@ -8803,7 +9692,7 @@ # For use in dealing with tools that return non-ascii version strings. nonascii = "" identity_chartable = chr(0) -@@ -1084,7 +1178,7 @@ +@@ -1084,7 +1184,7 @@ nonascii += chr(c) identity_chartable += " " @@ -8812,7 +9701,7 @@ self.name = name self.command = command self.versioncommand = versioncommand -@@ -1097,7 +1191,6 @@ +@@ -1097,7 +1197,6 @@ # version until someone proves that it's OK self.valid = False @@ -8820,7 +9709,7 @@ def expand(self, toolset): self.versioncommand = toolset.ExpandAll(self.versioncommand) -@@ -1117,7 +1210,7 @@ +@@ -1117,7 +1216,7 @@ # If it really is not a simple command then we won't be able to get a date and # we won't be able to tell if it is altered or updated - too bad! testfile = generic_path.Where(self.command) @@ -8829,7 +9718,7 @@ if testfile is None: raise Exception("Can't be found in path") -@@ -1127,18 +1220,20 @@ +@@ -1127,18 +1226,20 @@ testfile_stat = os.stat(testfile) self.date = testfile_stat.st_mtime except Exception,e: @@ -8853,7 +9742,7 @@ except Exception,e: versionoutput=None -@@ -1148,12 +1243,11 @@ +@@ -1148,12 +1249,11 @@ versionoutput_a = versionoutput.translate(Tool.identity_chartable,"") if versionoutput_a and self.vre.search(versionoutput_a) != None: @@ -8868,7 +9757,7 @@ def envhash(irrelevant_vars): """Determine something unique about this environment to identify it. -@@ -1175,6 +1269,9 @@ +@@ -1175,6 +1275,9 @@ write() is used to flush the cache to disc. """ # The raptor shell - this is not mutable. @@ -8878,7 +9767,7 @@ hostbinaries = os.path.join(os.environ['SBS_HOME'], os.environ['HOSTPLATFORM_DIR']) -@@ -1256,7 +1353,6 @@ +@@ -1256,7 +1359,6 @@ log.Info("Ignoring garbled toolcheck cache: %s (%s)\n", self.cachefilename, str(e)) self.__toolcheckcache = {} @@ -8886,7 +9775,7 @@ else: log.Info("Toolcheck cache %s ignored - environment changed\n", self.cachefilename) else: -@@ -1316,8 +1412,11 @@ +@@ -1316,8 +1418,11 @@ self.log.Debug("toolcheck done: %s -key: %s" % (tool.name, tool.key)) @@ -8899,7 +9788,7 @@ # Tool failures are cached just like successes - don't want to repeat them cache[tool.key] = { "name" : tool.name, "valid" : tool.valid, "age" : 0 , "date" : tool.date } -@@ -1356,6 +1455,11 @@ +@@ -1356,6 +1461,11 @@ self.log.Info("Could not write toolcheck cache: %s", str(e)) return self.valid @@ -8911,7 +9800,7 @@ class Evaluator(object): """Determine the values of variables under different Configurations. -@@ -1364,11 +1468,11 @@ +@@ -1364,11 +1474,11 @@ refRegex = re.compile("\$\((.+?)\)") @@ -8925,7 +9814,7 @@ specName = "none" configName = "none" -@@ -1377,14 +1481,18 @@ +@@ -1377,14 +1487,18 @@ opsLists = [] if buildUnit: @@ -8947,7 +9836,7 @@ for opsList in opsLists: for op in opsList: # applying an Operation to a non-existent variable -@@ -1394,13 +1502,20 @@ +@@ -1394,13 +1508,20 @@ except KeyError: oldValue = "" @@ -8969,7 +9858,7 @@ if self.gathertools: self.tools = tools.values() -@@ -1417,8 +1532,7 @@ +@@ -1417,8 +1538,7 @@ unresolved = False for k, v in self.dict.items(): if v.find('$(' + k + ')') != -1: @@ -8979,7 +9868,7 @@ else: expanded = self.ExpandAll(v, specName, configName) -@@ -1466,20 +1580,24 @@ +@@ -1466,20 +1586,24 @@ refs = Evaluator.refRegex.findall(value) @@ -9011,7 +9900,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_makefile.py 2010-05-17 18:47:53.096843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_makefile.py 2010-06-04 12:09:25.035850000 +0100 @@ -134,6 +134,15 @@ return True @@ -9042,7 +9931,7 @@ yield str(mf.filename) 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_make.py 2010-05-17 18:47:53.096843000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_make.py 2010-06-04 12:09:25.035850000 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -9050,7 +9939,7 @@ # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" -@@ -20,27 +20,120 @@ +@@ -20,27 +20,123 @@ import os import random import raptor @@ -9103,7 +9992,10 @@ +def AnnoFileParseOutput(annofile): + """ A generator that extracts log output from an emake annotation file, + perform an XML-unescape on it and "yields" it line by line. """ -+ af = open(annofile, "r") ++ if isinstance(annofile,str): ++ af = open(annofile, "r") ++ else: ++ af = annofile + + inOutput = False + @@ -9176,7 +10068,7 @@ # look for an alias first as this gives end-users a chance to modify # the shipped variant rather than completely replacing it. if engine in Raptor.cache.aliases: -@@ -48,12 +141,14 @@ +@@ -48,12 +144,14 @@ elif engine in Raptor.cache.variants: avar = Raptor.cache.FindNamedVariant(engine) else: @@ -9194,7 +10086,20 @@ evaluator = Raptor.GetEvaluator( None, units[0] , gathertools=True) # shell -@@ -75,6 +170,25 @@ +@@ -64,6 +162,12 @@ + self.talontimeout = str(evaluator.Get("TALON_TIMEOUT")) + self.talonretries = str(evaluator.Get("TALON_RETRIES")) + ++ # work around for RVCT 2.2 failed compiles ++ delete_on_failed_compile_s = evaluator.Get("DELETE_ON_FAILED_COMPILE") ++ self.delete_on_failed_compile = "" ++ if delete_on_failed_compile_s is not None and delete_on_failed_compile_s != "": ++ self.delete_on_failed_compile = "1" ++ + # commands + self.initCommand = evaluator.Get("initialise") + self.buildCommand = evaluator.Get("build") +@@ -75,6 +179,25 @@ self.jobsOption = evaluator.Get("jobs") self.defaultMakeOptions = evaluator.Get("defaultoptions") @@ -9220,7 +10125,7 @@ # buffering self.scrambled = (evaluator.Get("scrambled") == "true") -@@ -101,14 +215,13 @@ +@@ -101,14 +224,13 @@ self.selectors = [] except KeyError: @@ -9237,7 +10142,7 @@ if self.usetalon: -@@ -123,7 +236,7 @@ +@@ -123,7 +245,7 @@ component='$$COMPONENT_NAME'\ bldinf='$$COMPONENT_META' mmp='$$PROJECT_META'\ config='$$SBS_CONFIGURATION' platform='$$PLATFORM'\ @@ -9246,7 +10151,7 @@ export TALON_RECIPEATTRIBUTES TALON_SHELL TALON_TIMEOUT USE_TALON:=%s -@@ -135,7 +248,21 @@ +@@ -135,7 +257,21 @@ """ @@ -9268,11 +10173,12 @@ # generated by %s %s HOSTPLATFORM:=%s -@@ -143,12 +270,13 @@ +@@ -143,22 +279,49 @@ OSTYPE:=%s FLMHOME:=%s SHELL:=%s +THIS_FILENAME:=$(firstword $(MAKEFILE_LIST)) ++DELETE_ON_FAILED_COMPILE:=%s %s @@ -9283,7 +10189,9 @@ " ".join(raptor.hostplatform), raptor.hostplatform_dir, self.raptor.filesystem, -@@ -157,8 +285,32 @@ + str(self.raptor.systemFLM), + self.shellpath, ++ self.delete_on_failed_compile, talon_settings, self.raptor.systemFLM.Append('globals.mk') ) @@ -9295,11 +10203,11 @@ +$(FLMHOME)/user/final.mk: +$(FLMHOME)/user/default.flm: +$(FLMHOME)/user/globals.mk: -+ + +- self.makefile_epilogue = """ +.DEFAULT:: + @echo "Missing dependency detected: $@" - -- self.makefile_epilogue = """ ++ +""" + + # Only output timings if requested on CLI @@ -9317,7 +10225,7 @@ include %s -@@ -168,14 +320,17 @@ +@@ -168,14 +331,17 @@ """Generate a set of makefiles, or one big Makefile.""" if not self.valid: @@ -9337,7 +10245,7 @@ selectors = self.selectors, filenamebase = str(toplevel.File()), prologue = self.makefile_prologue, -@@ -190,11 +345,10 @@ +@@ -190,11 +356,10 @@ self.many = not self.raptor.writeSingleMakefile # add a makefile for each spec under each config @@ -9351,7 +10259,7 @@ # make sure the config_wide spec item is put out first so that it # can affect everything. -@@ -207,16 +361,22 @@ +@@ -207,16 +372,22 @@ ordered_specs.append(s) if config_wide_spec is not None: @@ -9378,7 +10286,7 @@ def WriteConfiguredSpec(self, parentMakefileSet, spec, config, useAllInterfaces): -@@ -233,9 +393,10 @@ +@@ -233,9 +404,10 @@ guard = None if hasInterface: # find the Interface (it may be a ref) @@ -9391,7 +10299,7 @@ self.raptor.Error("No interface for '%s'", spec.name) return -@@ -268,12 +429,12 @@ +@@ -268,12 +440,12 @@ md5hash.update(value) # parameters required by the interface @@ -9406,7 +10314,7 @@ for k,v in evaluator.ResolveMatching(g.patternre): addparam(k,v,g.default) -@@ -301,7 +462,7 @@ +@@ -301,7 +473,7 @@ # generate the call to the FLM if iface is not None: @@ -9415,7 +10323,7 @@ # recursive includes -@@ -341,7 +502,7 @@ +@@ -341,7 +513,7 @@ return False # Save file names to a list, to allow the order to be reversed @@ -9424,7 +10332,7 @@ # Iterate through args passed to raptor, searching for CLEAN or REALLYCLEAN clean_flag = False -@@ -354,6 +515,9 @@ +@@ -354,6 +526,9 @@ if clean_flag: fileName_list.reverse() @@ -9434,7 +10342,7 @@ # Process each file in turn for makefile in fileName_list: if not os.path.exists(makefile): -@@ -364,7 +528,7 @@ +@@ -364,7 +539,7 @@ command = self.buildCommand if self.makefileOption: @@ -9443,7 +10351,7 @@ if self.raptor.keepGoing and self.keepGoingOption: command += " " + self.keepGoingOption -@@ -377,12 +541,20 @@ +@@ -377,12 +552,20 @@ command += " " + self.defaultMakeOptions # Can supply options on the commandline to override default settings. if len(self.raptor.makeOptions) > 0: @@ -9466,7 +10374,7 @@ if self.usetalon: # use the descrambler if we set it up command += ' TALON_DESCRAMBLE=' -@@ -401,7 +573,7 @@ +@@ -401,7 +584,7 @@ # targets go at the end, if the makefile supports them addTargets = self.raptor.targets[:] @@ -9475,7 +10383,7 @@ if addTargets and ignoreTargets: for target in self.raptor.targets: if re.match(ignoreTargets, target): -@@ -410,6 +582,23 @@ +@@ -410,6 +593,23 @@ if addTargets: command += " " + " ".join(addTargets) @@ -9499,7 +10407,7 @@ self.raptor.Info("Executing '%s'", command) # execute the build. -@@ -417,6 +606,10 @@ +@@ -417,6 +617,10 @@ # bufsize=1 means "line buffered" # try: @@ -9510,7 +10418,7 @@ makeenv=os.environ.copy() if self.usetalon: makeenv['TALON_RECIPEATTRIBUTES']="none" -@@ -423,28 +616,55 @@ +@@ -423,28 +627,55 @@ makeenv['TALON_SHELL']=self.talonshell makeenv['TALON_BUILDID']=str(self.buildID) makeenv['TALON_TIMEOUT']=str(self.talontimeout) @@ -9573,7 +10481,7 @@ if returncode != 0 and not self.raptor.keepGoing: self.Tidy() return False -@@ -452,6 +672,9 @@ +@@ -452,6 +683,9 @@ except Exception,e: self.raptor.Error("Exception '%s' during '%s'", str(e), command) self.Tidy() @@ -9583,7 +10491,7 @@ return False # run any shutdown script -@@ -496,7 +719,7 @@ +@@ -496,7 +730,7 @@ looking = (os.system(command) != 0) tries += 1 if looking: @@ -9594,7 +10502,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_meta.py 2010-05-17 18:47:53.100842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_meta.py 2010-06-04 12:09:25.039849000 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -9602,7 +10510,7 @@ # All rights reserved. # This component and the accompanying materials are made available # under the terms of the License "Eclipse Public License v1.0" -@@ -31,6 +31,7 @@ +@@ -31,9 +31,11 @@ import generic_path import subprocess import zipfile @@ -9610,7 +10518,11 @@ from mmpparser import * import time -@@ -232,6 +233,19 @@ ++import generic_path + + + PiggyBackedBuildPlatforms = {'ARMV5':['GCCXML']} +@@ -232,6 +234,19 @@ return commentDetail @@ -9630,7 +10542,7 @@ # Classes class MetaDataError(Exception): -@@ -284,9 +298,8 @@ +@@ -284,9 +299,8 @@ def call(self, aArgs, sourcefilename): """ Override call so that we can do our own error handling.""" tool = self._ExternalTool__Tool @@ -9641,7 +10553,7 @@ # the actual call differs between Windows and Unix if raptor_utilities.getOSFileSystem() == "unix": p = subprocess.Popen(commandline, \ -@@ -332,7 +345,7 @@ +@@ -332,7 +346,7 @@ raise MetaDataError("Errors in %s" % str(sourcefilename)) except Exception,e: @@ -9650,7 +10562,7 @@ return 0 # all OK -@@ -398,11 +411,13 @@ +@@ -398,11 +412,13 @@ on the selected build platform. This class provides a generic means of wrapping up the preprocessing of such files.""" @@ -9665,7 +10577,7 @@ @param log A class with Debug(), Info() and Error() methods """ self.filename = aFilename -@@ -410,6 +425,7 @@ +@@ -410,6 +426,7 @@ # Dictionary with key of build platform and a text string of processed output as values self.__PreProcessedContent = {} self.log = log @@ -9673,7 +10585,7 @@ self.__gnucpp = gnucpp if gnucpp is None: -@@ -436,7 +452,7 @@ +@@ -436,7 +453,7 @@ else: metatarget = "'$(PARSETARGET)'" generateDepsOptions = "-MD -MF%s -MT%s" % (adepfilename, metatarget) @@ -9682,7 +10594,7 @@ try: os.makedirs(os.path.dirname(adepfilename)) except Exception, e: -@@ -515,15 +531,17 @@ +@@ -515,15 +532,17 @@ on the selected build platform. This class provides a generic means of wrapping up the preprocessing of such files.""" @@ -9703,7 +10615,37 @@ self.__gnucpp = gnucpp if gnucpp is None: -@@ -878,8 +896,8 @@ +@@ -750,9 +769,13 @@ + biloc="." # Someone building with a relative raptor path + + self.__StandardVariables = {} +- # Relative step-down to the root - let's try ignoring this for now, as it +- # should amount to the same thing in a world where absolute paths are king ++ # The source root directory is SRCROOT if set in the environment ++ # Set TO_ROOT to SRCROOT in case SBS_BUILD_DIR is on a different drive ++ if 'SRCROOT' in os.environ: ++ self.__StandardVariables['TO_ROOT'] = str(generic_path.Path(os.environ['SRCROOT'])) ++ else: + self.__StandardVariables['TO_ROOT'] = "" ++ + # Top-level bld.inf location + self.__StandardVariables['TO_BLDINF'] = biloc + self.__StandardVariables['EXTENSION_ROOT'] = eiloc +@@ -820,8 +843,11 @@ + eiloc="." # Someone building with a relative raptor path + + self.__StandardVariables = {} +- # Relative step-down to the root - let's try ignoring this for now, as it +- # should amount to the same thing in a world where absolute paths are king ++ # The source root directory is SRCROOT if set in the environment ++ # Set TO_ROOT to SRCROOT in case SBS_BUILD_DIR is on a different drive ++ if 'SRCROOT' in os.environ: ++ self.__StandardVariables['TO_ROOT'] = str(generic_path.Path(os.environ['SRCROOT'])) ++ else: + self.__StandardVariables['TO_ROOT'] = "" + # Top-level bld.inf location + self.__StandardVariables['TO_BLDINF'] = biloc +@@ -878,8 +904,8 @@ class BldInfFile(MetaDataFile): """Representation of a Symbian bld.inf file""" @@ -9714,7 +10656,17 @@ self.__Raptor = log self.testManual = 0 self.testAuto = 0 -@@ -1194,7 +1212,9 @@ +@@ -1053,6 +1079,9 @@ + if (re.search(r'^\s*START ',extensionLine, re.I)): + start = extensionLine + elif re.search(r'^\s*END\s*$',extensionLine, re.I): ++ if start == "": ++ self.log.Error("unmatched END statement in %s section", aType, bldinf=str(self.filename)) ++ else: + extensionObjects.append(Extension(self.filename, start, options, aBuildPlatform, self.__Raptor)) + start = "" + options = [] +@@ -1194,7 +1223,9 @@ super(MMPRaptorBackend,self).__init__() self.platformblock = None self.__Raptor = aRaptor @@ -9725,7 +10677,7 @@ self.ResourceVariants = [] self.BitmapVariants = [] self.StringTableVariants = [] -@@ -1208,11 +1228,12 @@ +@@ -1208,11 +1239,12 @@ self.__systeminclude = "" self.__bitmapSourcepath = self.__sourcepath self.__current_resource = "" @@ -9739,7 +10691,7 @@ self.__TARGET = "" self.__TARGETEXT = "" -@@ -1283,16 +1304,15 @@ +@@ -1283,16 +1315,15 @@ elif varname == 'PAGED': self.BuildVariant.AddOperation(raptor_data.Set(varname, "1")) self.__debug( "Set switch PAGE ON") @@ -9758,7 +10710,7 @@ self.BuildVariant.AddOperation(raptor_data.Set("PAGEDCODE_OPTION", "unpaged")) self.__debug( "Set switch PAGEDCODE OFF") self.BuildVariant.AddOperation(raptor_data.Set("PAGEDDATA_OPTION", "unpaged")) -@@ -1314,6 +1334,7 @@ +@@ -1314,6 +1345,7 @@ self.BuildVariant.AddOperation(raptor_data.Set("PAGEDCODE_OPTION", "unpaged")) self.__debug( "Set switch " + varname + " ON") self.__pageConflict.append(varname) @@ -9766,7 +10718,7 @@ elif varname == 'UNPAGEDDATA': self.BuildVariant.AddOperation(raptor_data.Set("PAGEDDATA_OPTION", "unpaged")) self.__debug( "Set switch " + varname + " ON") -@@ -1322,6 +1343,7 @@ +@@ -1322,6 +1354,7 @@ elif varname == 'NOLINKTIMECODEGENERATION': self.BuildVariant.AddOperation(raptor_data.Set("LTCG","")) self.__debug( "Set switch " + varname + " OFF") @@ -9774,7 +10726,7 @@ elif varname == 'NOMULTIFILECOMPILATION': self.BuildVariant.AddOperation(raptor_data.Set("MULTIFILE_ENABLED","")) self.__debug( "Set switch " + varname + " OFF") -@@ -1331,13 +1353,19 @@ +@@ -1331,13 +1364,19 @@ self.__debuggable = "udeb urel" else: self.__Raptor.Warn("DEBUGGABLE keyword ignored as DEBUGGABLE_UDEBONLY is already specified") @@ -9794,7 +10746,7 @@ else: self.__debug( "Set switch "+toks[0]+" ON") self.BuildVariant.AddOperation(raptor_data.Set(prefix+varname, "1")) -@@ -1423,9 +1451,12 @@ +@@ -1423,9 +1462,12 @@ elif varname=='CAPABILITY': for cap in toks[1]: @@ -9809,7 +10761,7 @@ elif varname=='DEFFILE': self.__defFileRoot = self.__currentMmpFile self.deffile = toks[1] -@@ -1450,8 +1481,10 @@ +@@ -1450,14 +1492,16 @@ # add in the minor number minor = 0 @@ -9821,7 +10773,15 @@ self.__versionhex = "%04x%04x" % (major, minor) self.BuildVariant.AddOperation(raptor_data.Set(varname, "%d.%d" %(major, minor))) -@@ -1517,7 +1550,8 @@ +- self.BuildVariant.AddOperation(raptor_data.Set(varname+"HEX", self.__versionhex)) ++ self.BuildVariant.AddOperation(raptor_data.Set("VERSIONHEX", self.__versionhex)) + self.__debug("Set "+toks[0]+" OPTION to " + toks[1]) +- self.__debug("Set "+toks[0]+"HEX OPTION to " + "%04x%04x" % (major,minor)) ++ self.__debug("Set VERSIONHEX OPTION to " + self.__versionhex) + + else: + self.__Raptor.Warn("Invalid version supplied to VERSION (%s), using default value" % toks[1]) +@@ -1517,7 +1561,8 @@ toks1 = re.sub("[,'\[\]]", "", toks1).replace("//","/") self.__debug("Set "+toks[0]+" to " + toks1) self.BuildVariant.AddOperation(raptor_data.Set(varname,toks1)) @@ -9831,7 +10791,7 @@ else: self.__debug("Set "+toks[0]+" to " + str(toks[1])) self.BuildVariant.AddOperation(raptor_data.Set(varname,"".join(toks[1]))) -@@ -1687,7 +1721,7 @@ +@@ -1687,7 +1732,7 @@ def getDefaultResourceTargetPath(self, targettype): # the different default TARGETPATH values should come from the # configuration rather than being hard-coded here. @@ -9840,7 +10800,7 @@ return "resource/plugins" if targettype == "pdl": return "resource/printers" -@@ -1884,7 +1918,7 @@ +@@ -1884,7 +1929,7 @@ self.__currentLineNumber += 1 self.__debug("Start BITMAP "+toks[1]) @@ -9849,7 +10809,7 @@ # Use BMTARGET and BMTARGET_lower because that prevents # confusion with the TARGET and TARGET_lower of our parent MMP # when setting the OUTPUTPATH. This in turn allows us to -@@ -1974,7 +2008,7 @@ +@@ -1974,7 +2019,7 @@ self.__debug("stringtable: " + toks[1]) self.__debug("adjusted stringtable source=" + source) @@ -9858,7 +10818,7 @@ self.__currentStringTableVariant.AddOperation(raptor_data.Set("SOURCE", source)) self.__currentStringTableVariant.AddOperation(raptor_data.Set("EXPORTPATH", "")) self.__stringtableExported = False -@@ -2142,6 +2176,9 @@ +@@ -2142,6 +2187,9 @@ self.BuildVariant.AddOperation(raptor_data.Set("DEFFILEKEYWORD", deffile_keyword)) self.__debug("Set DEFFILEKEYWORD to '%s'",deffile_keyword) @@ -9868,7 +10828,7 @@ # if this target type has a default TARGETPATH other than "" for # resources then we need to add that default to all resources which # do not explicitly set the TARGETPATH themselves. -@@ -2167,16 +2204,20 @@ +@@ -2167,16 +2215,20 @@ self.ResourceVariants[i].AddOperation(raptor_data.Set("MAIN_TARGET_lower", self.__TARGET.lower())) self.ResourceVariants[i].AddOperation(raptor_data.Set("MAIN_REQUESTEDTARGETEXT", self.__TARGETEXT.lower())) @@ -9891,7 +10851,7 @@ if MMPRaptorBackend.supportedCapabilities.has_key(capability): capabilityFlag1 = capabilityFlag1 ^ invert -@@ -2205,12 +2246,21 @@ +@@ -2205,12 +2257,21 @@ for x in self.__pageConflict: if x == "PAGEDCODE" or x == "UNPAGEDCODE": self.__Raptor.Warn("Both PAGEDCODE and UNPAGEDCODE are specified. The last one %s will take effect" % x) @@ -9913,7 +10873,7 @@ # Set Debuggable self.BuildVariant.AddOperation(raptor_data.Set("DEBUGGABLE", self.__debuggable)) -@@ -2229,6 +2279,27 @@ +@@ -2229,6 +2290,27 @@ """Target type in lower case - the standard format""" return self.__targettype.lower() @@ -9941,7 +10901,7 @@ def resolveDefFile(self, aTARGET, aBuildPlatform): """Returns a fully resolved DEFFILE entry depending on .mmp file location and TARGET, DEFFILE and NOSTRICTDEF entries in the .mmp file itself (where appropriate). -@@ -2283,6 +2354,32 @@ +@@ -2283,6 +2365,32 @@ return resolvedDefFile @@ -9974,7 +10934,7 @@ class MetaReader(object): """Entry point class for Symbian metadata processing. -@@ -2299,10 +2396,10 @@ +@@ -2299,10 +2407,10 @@ # Get the version of CPP that we are using metadata = self.__Raptor.cache.FindNamedVariant("meta") evaluator = self.__Raptor.GetEvaluator(None, raptor_data.BuildUnit(metadata.name, [metadata]) ) @@ -9989,7 +10949,7 @@ # Only read each variant.cfg once variantCfgs = {} -@@ -2321,24 +2418,35 @@ +@@ -2321,24 +2429,35 @@ # with the same "export platform". exports = {} @@ -10032,7 +10992,7 @@ # Apply OS variant provided we are not ignoring this if not self.__Raptor.ignoreOsDetection: -@@ -2350,11 +2458,11 @@ +@@ -2350,11 +2469,11 @@ # is this a feature variant config or an ordinary variant fv = evaluator.Get("FEATUREVARIANTNAME") if fv: @@ -10046,7 +11006,7 @@ variantCfg = generic_path.Path(variantCfg) if not variantCfg in variantCfgs: # get VARIANT_HRH from the variant.cfg file -@@ -2369,19 +2477,18 @@ +@@ -2369,19 +2488,18 @@ detail['VARIANT_HRH'] = variantHRH self.__Raptor.Info("'%s' uses variant hrh file '%s'", buildConfig.name, variantHRH) @@ -10070,7 +11030,7 @@ # make a key that identifies this platform uniquely # - used to tell us whether we have done the pre-processing -@@ -2390,7 +2497,8 @@ +@@ -2390,7 +2508,8 @@ key = str(detail['VARIANT_HRH']) \ + str(detail['EPOCROOT']) \ + detail['SYSTEMINCLUDE'] \ @@ -10080,7 +11040,7 @@ # Keep a short version of the key for use in filenames. uniq = hashlib.md5() -@@ -2426,11 +2534,7 @@ +@@ -2426,11 +2545,7 @@ # Is this an unseen build platform? # concatenate all the values we care about in a fixed order # and use that as a signature for the platform. @@ -10093,7 +11053,7 @@ items.extend(interfaces) platform = "" -@@ -2452,20 +2556,8 @@ +@@ -2452,20 +2567,8 @@ # that are supposedly platform independent (e.g. PRJ_PLATFORMS) self.defaultPlatform = self.ExportPlatforms[0] @@ -10115,7 +11075,7 @@ """Take a list of bld.inf files and return a list of build specs. The returned specification nodes will be suitable for all the build -@@ -2475,7 +2567,7 @@ +@@ -2475,7 +2578,7 @@ # we need a Filter node per export platform exportNodes = [] for i,ep in enumerate(self.ExportPlatforms): @@ -10124,7 +11084,7 @@ # what configurations is this node active for? for config in ep['configs']: -@@ -2486,7 +2578,7 @@ +@@ -2486,7 +2589,7 @@ # we need a Filter node per build platform platformNodes = [] for i,bp in enumerate(self.BuildPlatforms): @@ -10133,7 +11093,7 @@ # what configurations is this node active for? for config in bp['configs']: -@@ -2502,18 +2594,18 @@ +@@ -2502,18 +2605,18 @@ # check that each bld.inf exists and add a Specification node for it # to the nodes of the export and build platforms that it supports. @@ -10158,7 +11118,7 @@ if not self.__Raptor.keepGoing: return [] -@@ -2545,6 +2637,7 @@ +@@ -2545,6 +2648,7 @@ # before we can do anything else (because raptor itself must do # some exports before the MMP files that include them can be # processed). @@ -10166,7 +11126,7 @@ for i,p in enumerate(exportNodes): exportPlatform = self.ExportPlatforms[i] for s in p.GetChildSpecs(): -@@ -2555,10 +2648,12 @@ +@@ -2555,10 +2659,12 @@ self.__Raptor.Error("%s",e.Text) if not self.__Raptor.keepGoing: return [] @@ -10180,7 +11140,7 @@ self.__Raptor.Info("Processing Exports only") return[] -@@ -2601,8 +2696,8 @@ +@@ -2601,8 +2707,8 @@ def LeftPortionOf(pth,sep): """ Internal function to return portion of str that is to the left of sep. @@ -10191,7 +11151,7 @@ return pth[0:length] modulePath = LeftPortionOf(LeftPortionOf(os.path.dirname(aBldInfPath), "group"), "ongoing") -@@ -2615,37 +2710,30 @@ +@@ -2615,37 +2721,30 @@ return moduleName @@ -10240,7 +11200,7 @@ # get the relevant build platforms listedPlatforms = bldInfFile.getBuildPlatforms(self.defaultPlatform) -@@ -2655,34 +2743,36 @@ +@@ -2655,34 +2754,36 @@ self.__baseuserdefaultplatforms) @@ -10288,7 +11248,7 @@ def ProcessExports(self, componentNode, exportPlatform): """Do the exports for a given platform and skeleton bld.inf node. -@@ -2694,18 +2784,18 @@ +@@ -2694,18 +2795,18 @@ [some MMP files #include exported .mmh files] """ if exportPlatform["TESTCODE"]: @@ -10311,7 +11271,7 @@ exportwhatlog="\n" % bldinf_filename for export in exports: expSrc = export.getSource() -@@ -2728,11 +2818,11 @@ +@@ -2728,11 +2829,11 @@ # export the file exportwhatlog += self.CopyExport(fromFile, toFile, bldinf_filename) else: @@ -10325,7 +11285,7 @@ if members != None: exportwhatlog += members exportwhatlog += "\n" -@@ -2767,8 +2857,10 @@ +@@ -2767,8 +2868,10 @@ sourceMTime = 0 destMTime = 0 @@ -10337,7 +11297,7 @@ destMTime = os.stat(dest_str)[stat.ST_MTIME] except OSError, e: if sourceMTime == 0: -@@ -2782,6 +2874,9 @@ +@@ -2782,6 +2885,9 @@ if os.path.exists(dest_str): os.chmod(dest_str,stat.S_IREAD | stat.S_IWRITE) shutil.copyfile(source_str, dest_str) @@ -10347,7 +11307,7 @@ self.__Raptor.Info("Copied %s to %s", source_str, dest_str) else: self.__Raptor.Info("Up-to-date: %s", dest_str) -@@ -2845,7 +2940,7 @@ +@@ -2845,7 +2951,7 @@ for file in files: if not file.endswith('/'): expfilename = str(generic_path.Join(destination, file)) @@ -10356,7 +11316,7 @@ self.__Raptor.PrintXML("\n") self.__Raptor.PrintXML("" + markerfilename + "\n") -@@ -2876,6 +2971,11 @@ +@@ -2876,6 +2982,11 @@ expfile = open(expfilename, 'wb') expfile.write(exportzip.read(file)) expfile.close() @@ -10368,7 +11328,7 @@ # Each file keeps its modified time the same as what it was before unzipping accesstime = time.time() datetime = exportzip.getinfo(file).date_time -@@ -2885,7 +2985,7 @@ +@@ -2885,7 +2996,7 @@ os.utime(expfilename,(accesstime, modifiedtime)) filecount += 1 @@ -10377,7 +11337,7 @@ except IOError, e: message = "Could not unzip %s to %s: file %s: %s" %(source, destination, expfilename, str(e)) if not self.__Raptor.keepGoing: -@@ -2899,7 +2999,7 @@ +@@ -2899,7 +3010,7 @@ self.__Raptor.PrintXML("" + markerfilename + "\n") self.__Raptor.PrintXML("\n") @@ -10386,7 +11346,7 @@ self.__Raptor.Warn("Problem while unzipping export %s to %s: %s",source,destination,str(e)) self.__Raptor.Info("Unzipped %d files from %s to %s", filecount, source, destination) -@@ -2915,12 +3015,12 @@ +@@ -2915,12 +3026,12 @@ return # feature variation does not run extensions at all if buildPlatform["TESTCODE"]: @@ -10402,7 +11362,15 @@ for i,extension in enumerate(extensions): if self.__Raptor.projects: -@@ -2999,14 +3099,20 @@ +@@ -2979,7 +3090,6 @@ + value = options[option].replace('$(EPOCROOT)', '$(EPOCROOT)/') + value = value.replace('$(', '$$$$(') + value = value.replace('$/', '/').replace('$;', ':') +- value = value.replace('$/', '/').replace('$;', ':') + + if customInterface: + var.AddOperation(raptor_data.Set(option, value)) +@@ -2999,14 +3109,20 @@ gnuList = [] makefileList = [] @@ -10426,7 +11394,7 @@ projectname = mmpFileEntry.filename.File().lower() if self.__Raptor.projects: -@@ -3024,7 +3130,8 @@ +@@ -3024,7 +3140,8 @@ mmpFile = MMPFile(foundmmpfile, self.__gnucpp, @@ -10436,7 +11404,7 @@ log = self.__Raptor) mmpFilename = mmpFile.filename -@@ -3058,7 +3165,7 @@ +@@ -3058,7 +3175,7 @@ continue # now build the specification tree @@ -10445,7 +11413,7 @@ var = backend.BuildVariant var.AddOperation(raptor_data.Set("PROJECT_META", str(mmpFilename))) -@@ -3094,7 +3201,7 @@ +@@ -3094,7 +3211,7 @@ # Although not part of the MMP, some MMP-based build specs additionally require knowledge of their # container bld.inf exported headers @@ -10454,7 +11422,7 @@ destination = export.getDestination() if isinstance(destination, list): exportfile = str(destination[0]) -@@ -3108,6 +3215,16 @@ +@@ -3108,6 +3225,16 @@ mmpSpec.AddVariant(var) componentNode.AddChild(mmpSpec) @@ -10471,7 +11439,7 @@ # resources, stringtables and bitmaps are sub-nodes of this project # (do not add these for feature variant builds) -@@ -3150,7 +3267,7 @@ +@@ -3150,7 +3277,7 @@ self.projectList.remove(projectname) self.__Raptor.Debug("%i gnumakefile extension makefiles for %s", @@ -10480,8 +11448,12 @@ var = raptor_data.Variant() gnuSpec = raptor_data.Specification("gnumakefile " + str(g.getMakefileName())) interface = buildPlatform["ext_makefile"] -@@ -3182,7 +3299,7 @@ - projectList.remove(projectname) +@@ -3179,10 +3306,10 @@ + self.__Raptor.Debug("Skipping %s", str(m.getMakefileName())) + continue + elif projectname in self.projectList: +- projectList.remove(projectname) ++ self.projectList.remove(projectname) self.__Raptor.Debug("%i makefile extension makefiles for %s", - len(makefileList), str(componentNode.bldinf.filename)) @@ -10489,7 +11461,7 @@ var = raptor_data.Variant() gnuSpec = raptor_data.Specification("makefile " + str(m.getMakefileName())) interface = buildPlatform["ext_makefile"] -@@ -3203,17 +3320,6 @@ +@@ -3203,17 +3330,6 @@ gnuSpec.AddVariant(var) componentNode.AddChild(gnuSpec) @@ -10509,7 +11481,7 @@ # Form path to kif.xml and path to buildinfo.txt 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 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python/raptor.py 2010-05-18 19:32:34.789348356 +0100 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor.py 2010-05-17 18:47:53.092842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor.py 2010-06-04 12:09:25.031849000 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -10676,9 +11648,7 @@ + self.unfurl_all(build) + + sp = self.specs - -- def extend(self, c): -- self.components.extend(c) ++ + build.AssertBuildOK() + + m = self.realise_makefile(build, sp) @@ -10691,9 +11661,15 @@ + + + return result -+ -+ -+ + +- def extend(self, c): +- self.components.extend(c) + +- def append(self, c): +- self.components.append(c) + +- def GenerateSpecs(self, genericspecs, configs): +- """Return a build spec hierarchy for a ComponentGroup. This involves parsing the component MetaData (bld.infs, mmps). +class Project(ModelNode): + """A project or, in symbian-speak, an MMP + """ @@ -10745,9 +11721,7 @@ + def __init__(self, name, componentlist=[]): + super(Layer,self).__init__(name) + self.name = name - -- def append(self, c): -- self.components.append(c) ++ + for c in componentlist: + if isinstance(c, raptor_xml.SystemModelComponent): + # this component came from a system_definition.xml @@ -10755,9 +11729,7 @@ + else: + # this is a plain old bld.inf file from the command-line + self.children.add(Component(c)) - -- def GenerateSpecs(self, genericspecs, configs): -- """Return a build spec hierarchy for a ComponentGroup. This involves parsing the component MetaData (bld.infs, mmps). ++ + def unfurl(self, build): + """Discover the children of this layer. This involves parsing the component MetaData (bld.infs, mmps). Takes a raptor object as a parameter (build), together with a list of Configurations. @@ -10806,8 +11778,10 @@ - if metaReader: - for c in metaReader.BuildPlatforms: - self.dependencies.update(c["METADEPS"]) -- -- ++ build.Error(e.Text) + ++ self.unfurled = True + - def CreateMakefile(self, makefilename_base, engine, named = False): - if len(self.specs) <= 0: - return None @@ -10819,19 +11793,17 @@ - - # insert the start time into the Makefile name? - makefile.path = makefile.path.replace("%TIME", build.timestring) -+ build.Error(e.Text) - +- - engine.Write(makefile, self.specs, self.configs) -+ self.unfurled = True - return makefile - + def meta_realise(self, build): + """Generate specs that can be used to "take care of" finding out more + about this metaunit - i.e. one doesn't want to parse it immediately + but to create a makefile that will parse it. + In this case it allows bld.infs to be parsed in parallel by make.""" +- - def GenerateMetadataSpecs(self, configs): # insert the start time into the Makefile name? @@ -10840,22 +11812,19 @@ # Pass certain CLI flags through to the makefile-generating sbs calls cli_options = "" -@@ -206,34 +338,53 @@ +@@ -206,34 +338,50 @@ if build.quiet == True: cli_options += " -q" -+ if build.timing == True: -+ cli_options += " --timing" - -- nc = len(self.components) -- number_blocks = 16 + if build.noDependInclude == True: + cli_options += " --no-depend-include" + + if build.noDependGenerate == True: + cli_options += " --no-depend-generate" + -+ + +- nc = len(self.components) +- number_blocks = 16 + nc = len(self.children) + number_blocks = build.jobs block_size = (nc / number_blocks) + 1 @@ -10902,7 +11871,7 @@ pass # add some basic data in a component-wide variant -@@ -242,13 +393,19 @@ +@@ -242,13 +390,19 @@ var.AddOperation(raptor_data.Set("MAKEFILE_PATH", makefile_path)) var.AddOperation(raptor_data.Set("CONFIGS", configList)) var.AddOperation(raptor_data.Set("CLI_OPTIONS", cli_options)) @@ -10924,7 +11893,7 @@ try: interface = build.cache.FindNamedInterface("build.makefiles") specNode.SetInterface(interface) -@@ -256,15 +413,30 @@ +@@ -256,15 +410,30 @@ build.Error("Can't find flm interface 'build.makefiles' ") spec_nodes.append(specNode) @@ -10950,16 +11919,29 @@ - ## possibly some error handling here? -- + - self.specs = spec_nodes - +- -class BuildCompleteException(Exception): +class BuildCannotProgressException(Exception): pass # raptor module classes -@@ -326,8 +498,8 @@ +@@ -276,9 +445,10 @@ + created by the Main function. When operated by an IDE several Raptor + objects may be created and operated at the same time.""" + +- ++ # mission enumeration + M_BUILD = 1 +- M_VERSION = 2 ++ M_QUERY = 2 ++ M_VERSION = 3 + + def __init__(self, home = None): + +@@ -326,8 +496,8 @@ # things to initialise self.args = [] @@ -10970,7 +11952,7 @@ self.commandlineComponents = [] self.systemModel = None -@@ -343,8 +515,10 @@ +@@ -343,9 +513,12 @@ self.maker = None self.debugOutput = False self.doExportOnly = False @@ -10979,17 +11961,19 @@ self.noDependInclude = False + self.noDependGenerate = False self.projects = set() ++ self.queries = [] self.cache = raptor_cache.Cache(self) -@@ -360,6 +534,7 @@ + self.override = {env: str(self.home)} +@@ -360,6 +533,7 @@ # what platform and filesystem are we running on? self.filesystem = raptor_utilities.getOSFileSystem() -+ self.timing = False ++ self.timing = True # Needed by filters such as copy_file to monitor progress self.toolset = None self.starttime = time.time() -@@ -374,6 +549,9 @@ +@@ -374,6 +548,9 @@ return True def AddConfigName(self, name): @@ -10999,7 +11983,7 @@ self.configNames.append(name) return True -@@ -439,6 +617,16 @@ +@@ -439,6 +616,16 @@ def SetExportOnly(self, TrueOrFalse): self.doExportOnly = TrueOrFalse @@ -11016,7 +12000,7 @@ return True def SetNoBuild(self, TrueOrFalse): -@@ -449,6 +637,10 @@ +@@ -449,6 +636,10 @@ self.noDependInclude = TrueOrFalse return True @@ -11027,12 +12011,12 @@ def SetKeepGoing(self, TrueOrFalse): self.keepGoing = TrueOrFalse return True -@@ -503,10 +695,16 @@ +@@ -503,10 +694,16 @@ return True + def SetTiming(self, TrueOrFalse): -+ self.timing = TrueOrFalse ++ self.Info("--timing switch no longer has any effect - build timing is now permanently on") + return True + def SetParallelParsing(self, type): @@ -11044,7 +12028,19 @@ elif type == "off": self.doParallelParsing = False else: -@@ -529,7 +727,7 @@ +@@ -519,6 +716,11 @@ + self.projects.add(projectName.lower()) + return True + ++ def AddQuery(self, q): ++ self.queries.append(q) ++ self.mission = Raptor.M_QUERY ++ return True ++ + def FilterList(self, value): + self.filterList = value + return True +@@ -529,7 +731,7 @@ def PrintVersion(self,dummy): global name @@ -11053,7 +12049,7 @@ self.mission = Raptor.M_VERSION return False -@@ -538,7 +736,7 @@ +@@ -538,7 +740,7 @@ def Introduction(self): """Print a header of useful information about Raptor""" @@ -11062,7 +12058,7 @@ self.Info("%s %s", env, str(self.home)) self.Info("Set-up %s", str(self.raptorXML)) -@@ -546,8 +744,8 @@ +@@ -546,8 +748,8 @@ self.Info("Current working directory %s", os.getcwd()) # the inherited environment @@ -11073,7 +12069,35 @@ # and some general debug stuff self.Debug("Platform %s", "-".join(hostplatform)) -@@ -659,32 +857,6 @@ +@@ -597,8 +799,10 @@ + self.args = args + + # assuming self.CLI = "raptor_cli" +- more_to_do = raptor_cli.GetArgs(self, args) ++ if not raptor_cli.GetArgs(self, args): ++ self.skipAll = True # nothing else to do + ++ def ParseCommandLineTargets(self): + # resolve inter-argument dependencies. + # --what or --check implies the WHAT target and FilterWhat Filter + if self.doWhat or self.doCheck: +@@ -631,9 +835,13 @@ + self.filterList += ",filterclean" + if is_suspicious_clean: + self.Warn('CLEAN, CLEANEXPORT and a REALLYCLEAN should not be combined with other targets as the result is unpredictable.') ++ else: ++ """ Copyfile implements the tag which is primarily useful with cluster builds. ++ It allows file copying to occur on the primary build host rather than on the cluster. ++ This is more efficient. ++ """ ++ self.filterList += ",filtercopyfile" + +- if not more_to_do: +- self.skipAll = True # nothing else to do + + def ProcessConfig(self): + # this function will perform additional processing of config +@@ -659,32 +867,6 @@ self.cache.Load(self.systemFLM) @@ -11106,7 +12130,7 @@ def GetBuildUnitsToBuild(self, configNames): """Return a list of the configuration objects that correspond to the list of configuration names in the configNames parameter. -@@ -700,15 +872,7 @@ +@@ -700,15 +882,7 @@ else: configNames.append(self.defaultConfig) @@ -11123,7 +12147,7 @@ for b in buildUnitsToBuild: self.Info("Buildable configuration '%s'", b.name) -@@ -770,13 +934,13 @@ +@@ -770,13 +944,13 @@ systemModel.DumpLayerInfo(layer) if systemModel.IsLayerBuildable(layer): @@ -11139,7 +12163,7 @@ def FindSysDefIn(self, aDir = None): # Find a system definition file -@@ -801,22 +965,12 @@ +@@ -801,22 +975,12 @@ dir = generic_path.Path(aDir) bldInf = dir.Append(self.buildInformation) @@ -11162,7 +12186,7 @@ def GenerateGenericSpecs(self, configsToBuild): # if a Configuration has any config-wide interfaces # then add a Specification node to call each of them. -@@ -832,7 +986,7 @@ +@@ -832,7 +996,7 @@ filter.AddConfigCondition(c.name) else: # create a new node @@ -11171,7 +12195,7 @@ filter.AddConfigCondition(c.name) for i in iface.split(): spec = raptor_data.Specification(i) -@@ -842,50 +996,25 @@ +@@ -842,50 +1006,25 @@ configWide[iface] = filter genericSpecs.append(filter) @@ -11205,13 +12229,13 @@ def GetEvaluator(self, specification, configuration, gathertools=False): """ this will perform some caching later """ - return raptor_data.Evaluator(self, specification, configuration, gathertools=gathertools) -- -- ++ return raptor_data.Evaluator(specification, configuration, gathertools=gathertools, cache = self.cache) + + - def areMakefilesUptodate(self): - return False -+ return raptor_data.Evaluator(specification, configuration, gathertools=gathertools, cache = self.cache) - - +- +- - def Make(self, makefile): - - if self.maker.Make(makefile): @@ -11229,7 +12253,7 @@ def Report(self): -@@ -898,10 +1027,10 @@ +@@ -898,10 +1037,10 @@ self.Info("Run time %s seconds" % self.runtime) def AssertBuildOK(self): @@ -11242,7 +12266,14 @@ return True -@@ -934,17 +1063,17 @@ +@@ -928,23 +1067,23 @@ + self.raptor_params = BuildStats(self) + + # Open the requested plugins using the pluginbox +- self.out.open(self.raptor_params, self.filterList.split(','), self.pbox) ++ self.out.open(self.raptor_params, self.filterList, self.pbox) + + # log header self.out.write("\n") namespace = "http://symbian.com/xml/build/log" @@ -11263,7 +12294,7 @@ def CloseLog(self): if self.logOpen: self.out.summary() -@@ -976,6 +1105,30 @@ +@@ -976,6 +1115,30 @@ self.out.write("" + escape(format % extras) + "\n") @@ -11294,7 +12325,7 @@ def Debug(self, format, *extras, **attributes): "Send a debugging message to the configured channel" -@@ -1019,28 +1172,11 @@ +@@ -1019,28 +1182,11 @@ if format: self.out.write(format % extras) @@ -11326,7 +12357,7 @@ # Look for bld.infs or sysdefs in the current dir if none were specified if self.systemDefinitionFile == None and len(self.commandlineComponents) == 0: if not self.preferBuildInfoToSystemDefinition: -@@ -1049,38 +1185,39 @@ +@@ -1049,38 +1195,64 @@ if self.systemDefinitionFile == None: aComponent = self.FindComponentIn(cwd) if aComponent: @@ -11370,13 +12401,38 @@ + for c in cg: + newcg.add(c) + layers = [newcg] ++ ++ return layers ++ ++ def Query(self): ++ "process command-line queries." - return componentGroups -+ return layers ++ if self.mission != Raptor.M_QUERY: ++ return 0 ++ ++ # establish an object cache based on the current settings ++ self.LoadCache() ++ ++ # our "self" is a valid object for initialising an API Context ++ import raptor_api ++ api = raptor_api.Context(self) ++ ++ print "" % raptor_version.numericversion() ++ ++ for q in self.queries: ++ try: ++ print api.stringquery(q) ++ ++ except Exception, e: ++ self.Error("exception '%s' with query '%s'", str(e), q) ++ ++ print "" ++ return self.errorCode def Build(self): -@@ -1102,20 +1239,24 @@ +@@ -1102,20 +1274,24 @@ # find out what configurations to build self.AssertBuildOK() @@ -11406,7 +12462,7 @@ # check the configurations (tools versions) self.AssertBuildOK() -@@ -1123,35 +1264,36 @@ +@@ -1123,35 +1299,36 @@ if self.toolcheck != 'off': self.CheckConfigs(buildUnitsToBuild) else: @@ -11421,9 +12477,9 @@ + self.maker = raptor_make.MakeEngine(self, self.makeEngine) + except raptor_make.BadMakeEngineException,e: + self.Error("Unable to use make engine: %s " % str(e)) ++ - # if self.doParallelParsing and not (len(componentGroups) == 1 and len(componentGroups[0]) == 1): -+ + self.AssertBuildOK() + + # if self.doParallelParsing and not (len(layers) == 1 and len(layers[0]) == 1): @@ -11449,17 +12505,38 @@ # create specs for a specific group of components - cg.GenerateSpecs(generic_specs, buildUnitsToBuild) - self.WriteMetadataDepsMakefile(cg) -+ l.realise(self) - +- - # generate the makefiles for one group of specs - self.MakeComponentGroup(cg) -- ++ l.realise(self) + - except BuildCompleteException,b: + except BuildCannotProgressException,b: if str(b) != "": self.Info(str(b)) -@@ -1185,6 +1327,8 @@ +@@ -1176,15 +1353,29 @@ + build.ConfigFile() + build.ProcessConfig() + build.CommandLine(argv) ++ build.ParseCommandLineTargets() + + return build + ++ @classmethod ++ def CreateCommandlineAnalysis(cls, argv): ++ """ Perform an analysis run where a build is not performed. """ ++ build = Raptor() ++ build.AssertBuildOK() ++ build.ConfigFile() ++ build.ProcessConfig() ++ build.CommandLine(argv) ++ # Don't parse command line targets - they don't make any sense if you're not doing a build ++ ++ return build + + + # Class for passing constricted parameters to filters class BuildStats(object): def __init__(self, raptor_instance): @@ -11468,7 +12545,7 @@ self.logFileName = raptor_instance.logFileName self.quiet = raptor_instance.quiet self.doCheck = raptor_instance.doCheck -@@ -1212,17 +1356,7 @@ +@@ -1212,17 +1403,10 @@ # object which represents a build b = Raptor.CreateCommandlineBuild(argv) @@ -11479,7 +12556,9 @@ - build = b - log = b - -- ++ if b.mission == Raptor.M_QUERY: ++ return b.Query() + - result = b.Build() - - return result @@ -11488,9 +12567,79 @@ def DisplayBanner(): Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python: raptor_timing.py +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 +--- /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 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_utilities.py 2010-06-04 12:09:25.039849000 +0100 +@@ -1,5 +1,5 @@ + # +-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). ++# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). + # All rights reserved. + # This component and the accompanying materials are made available + # under the terms of the License "Eclipse Public License v1.0" +@@ -20,6 +20,8 @@ + import os.path + import re + import sys ++import stat ++import shutil + + dosSlashRegEx = re.compile(r'\\') + unixSlashRegEx = re.compile(r'/') +@@ -189,3 +191,50 @@ + return + + nulllog = NullLog() ++ ++def copyfile(_source, _destination): ++ """Copy the source file to the destination file (create a directory ++ to copy into if it does not exist). Don't copy if the destination ++ file exists and has an equal or newer modification time.""" ++ source = generic_path.Path(str(_source).replace('%20',' ')) ++ destination = generic_path.Path(str(_destination).replace('%20',' ')) ++ dest_str = str(destination) ++ source_str = str(source) ++ ++ try: ++ ++ ++ destDir = destination.Dir() ++ if not destDir.isDir(): ++ os.makedirs(str(destDir)) ++ shutil.copyfile(source_str, dest_str) ++ return ++ # Destination file exists so we have to think about updating it ++ sourceMTime = 0 ++ destMTime = 0 ++ sourceStat = 0 ++ try: ++ sourceStat = os.stat(source_str) ++ sourceMTime = sourceStat[stat.ST_MTIME] ++ except OSError, e: ++ message = "Source of copyfile does not exist: " + str(source) ++ raise IOError(message) ++ try: ++ destMTime = os.stat(dest_str)[stat.ST_MTIME] ++ except OSError, e: ++ pass # destination doesn't have to exist ++ ++ if destMTime == 0 or destMTime < sourceMTime: ++ if os.path.exists(dest_str): ++ os.chmod(dest_str,stat.S_IREAD | stat.S_IWRITE) ++ shutil.copyfile(source_str, dest_str) ++ ++ # Ensure that the destination file remains executable if the source was also: ++ os.chmod(dest_str,sourceStat[stat.ST_MODE] | stat.S_IREAD | stat.S_IWRITE | stat.S_IWGRP ) ++ ++ ++ except Exception,e: ++ message = "Could not update " + dest_str + " from " + source_str + " : " + str(e) ++ raise IOError(message) ++ ++ return 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_version.py 2010-05-17 18:47:53.100842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_version.py 2010-06-04 12:09:25.039849000 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -11507,7 +12656,7 @@ -def Version(): +# replace CHANGESET with the Hg changeset for ANY release + -+version=(2,13,0,"2010-04-12","symbian build system","CHANGESET") ++version=(2,14,1,"2010-06-03","symbian build system","CHANGESET") + +def numericversion(): + """Raptor version string""" @@ -11520,7 +12669,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/python: raptor_version.py.bak 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_xml.py 2010-05-17 18:47:53.100842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/python/raptor_xml.py 2010-06-04 12:09:25.039849000 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -11536,7 +12685,7 @@ + def __init__(self, aBldInfFile, aLayerName, aContainerNames, aSystemDefinitionFile, aSystemDefinitionBase, aSystemDefinitionVersion): generic_path.Path.__init__(self, aBldInfFile.Absolute().path) self.__ContainerNames = aContainerNames -+ self.__LayerName = aLayerName ++ self.__LayerName = aLayerName self.__SystemDefinitionFile = aSystemDefinitionFile self.__SystemDefinitionBase = aSystemDefinitionBase self.__SystemDefinitionVersion = aSystemDefinitionVersion @@ -11545,24 +12694,41 @@ return self.__SystemDefinitionBase - def GetSystemDefinitionFile(self): -+ def GetSystemDefinitionVersion(self): ++ def GetSystemDefinitionVersion(self): return self.__SystemDefinitionVersion -+ def GetLayerName(self): ++ def GetLayerName(self): + return self.__LayerName + def GetContainerName(self, aContainerType): if self.__ContainerNames.has_key(aContainerType): return self.__ContainerNames[aContainerType] -@@ -174,6 +178,7 @@ +@@ -174,10 +178,12 @@ self.__SystemDefinitionFile = aSystemDefinitionFile.GetLocalString() self.__SystemDefinitionBase = aSystemDefinitionBase.GetLocalString() self.__Version = {'MAJOR':0,'MID':0,'MINOR':0} -+ self.__IdAttribute = "name" ++ self.__IdAttribute = "name" self.__ComponentRoot = "" self.__TotalComponents = 0 self.__LayerList = [] -@@ -222,6 +227,10 @@ + self.__LayerDetails = {} ++ self.__MissingBldInfs = {} + + self.__DOM = None + self.__SystemDefinitionElement = None +@@ -203,6 +209,11 @@ + return self.__LayerDetails[aLayer] + + def IsLayerBuildable(self, aLayer): ++ if aLayer in self.__MissingBldInfs: ++ for missingbldinf in self.__MissingBldInfs[aLayer]: ++ self.__Logger.Error("System Definition layer \"%s\" from system definition file \"%s\" " + \ ++ "refers to non existent bld.inf file %s", aLayer, self.__SystemDefinitionFile, missingbldinf) ++ + if len(self.GetLayerComponents(aLayer)): + return True + return False +@@ -222,6 +234,10 @@ def DumpInfo(self): self.__Logger.Info("Found %d bld.inf references in %s within %d layers:", len(self.GetAllComponents()), self.__SystemDefinitionFile, len(self.GetLayerNames())) self.__Logger.Info("\t%s", ", ".join(self.GetLayerNames())) @@ -11573,35 +12739,35 @@ def __Read(self): if not os.path.exists(self.__SystemDefinitionFile): -@@ -259,42 +268,62 @@ +@@ -259,42 +275,62 @@ if self.__Version['MAJOR'] == 1 and self.__Version['MID'] > 2: self.__ComponentRoot = self.__SystemDefinitionBase - elif self.__Version['MAJOR'] == 2: - # 2.0.0 format supports SOURCEROOT as an environment specified base - we respect this, unless -+ elif self.__Version['MAJOR'] == 2 or self.__Version['MAJOR'] == 3: -+ # 2.0.x and 3.0.0 formats support SOURCEROOT or SRCROOT as an environment specified base - we respect this, unless ++ elif self.__Version['MAJOR'] == 2 or self.__Version['MAJOR'] == 3: ++ # 2.0.x and 3.0.0 formats support SOURCEROOT or SRCROOT as an environment specified base - we respect this, unless # explicitly overridden on the command line - if os.environ.has_key('SOURCEROOT'): -+ if os.environ.has_key('SRCROOT'): -+ self.__ComponentRoot = generic_path.Path(os.environ['SRCROOT']) -+ elif os.environ.has_key('SOURCEROOT'): ++ if os.environ.has_key('SRCROOT'): ++ self.__ComponentRoot = generic_path.Path(os.environ['SRCROOT']) ++ elif os.environ.has_key('SOURCEROOT'): self.__ComponentRoot = generic_path.Path(os.environ['SOURCEROOT']) -+ ++ if self.__SystemDefinitionBase and self.__SystemDefinitionBase != ".": self.__ComponentRoot = self.__SystemDefinitionBase - if os.environ.has_key('SOURCEROOT'): -+ if os.environ.has_key('SRCROOT'): -+ self.__Logger.Info("Command line specified System Definition file base \'%s\' overriding environment SRCROOT \'%s\'", self.__SystemDefinitionBase, os.environ['SRCROOT']) -+ elif os.environ.has_key('SOURCEROOT'): ++ if os.environ.has_key('SRCROOT'): ++ self.__Logger.Info("Command line specified System Definition file base \'%s\' overriding environment SRCROOT \'%s\'", self.__SystemDefinitionBase, os.environ['SRCROOT']) ++ elif os.environ.has_key('SOURCEROOT'): self.__Logger.Info("Command line specified System Definition file base \'%s\' overriding environment SOURCEROOT \'%s\'", self.__SystemDefinitionBase, os.environ['SOURCEROOT']) else: self.__Logger.Error("Cannot process schema version %s of file %s", version.string, self.__SystemDefinitionFile) return False -+ if self.__Version['MAJOR'] >= 3: -+ # id is the unique identifier for 3.0 and later schema -+ self.__IdAttribute = "id" ++ if self.__Version['MAJOR'] >= 3: ++ # id is the unique identifier for 3.0 and later schema ++ self.__IdAttribute = "id" + return True @@ -11625,14 +12791,14 @@ return component -+ def __GetEffectiveLayer(self, aElement): -+ #' return the ID of the topmost item which has an ID. For 1.x and 2.x, this will always be layer, for 3.x, it will be the topmost ID'd element in the file -+ # never call this on the root element -+ if aElement.parentNode.hasAttribute(self.__IdAttribute): -+ return self.__GetEffectiveLayer(aElement.parentNode) -+ elif aElement.hasAttribute(self.__IdAttribute): -+ return aElement.getAttribute(self.__IdAttribute) -+ return "" ++ def __GetEffectiveLayer(self, aElement): ++ #' return the ID of the topmost item which has an ID. For 1.x and 2.x, this will always be layer, for 3.x, it will be the topmost ID'd element in the file ++ # never call this on the root element ++ if aElement.parentNode.hasAttribute(self.__IdAttribute): ++ return self.__GetEffectiveLayer(aElement.parentNode) ++ elif aElement.hasAttribute(self.__IdAttribute): ++ return aElement.getAttribute(self.__IdAttribute) ++ return "" + def __GetElementContainers(self, aElement, aContainers): # take a element and creates a type->name dictionary of all of its parent containers @@ -11644,7 +12810,7 @@ if name: aContainers[parent.tagName] = name -@@ -305,8 +334,9 @@ +@@ -305,8 +341,9 @@ """Search for XML elements with 'bldFile' attributes and resolve concrete bld.inf locations with an appreciation of different schema versions.""" @@ -11656,7 +12822,7 @@ if not self.__LayerDetails.has_key(currentLayer): self.__LayerDetails[currentLayer] = [] -@@ -320,10 +350,10 @@ +@@ -320,10 +357,10 @@ if bldFileValue: bldInfRoot = self.__ComponentRoot @@ -11670,23 +12836,31 @@ # version 2.x.x schema paths are subject to a "root" attribute off-set, if it exists rootValue = aElement.getAttribute("root") -@@ -338,8 +368,14 @@ +@@ -338,16 +375,29 @@ group = generic_path.Path(bldFileValue) -+ if self.__Version['MAJOR'] < 3: -+ # absolute paths are not changed by root var in 1.x and 2.x ++ if self.__Version['MAJOR'] < 3: ++ # absolute paths are not changed by root var in 1.x and 2.x if not group.isAbsolute() and bldInfRoot: group = generic_path.Join(bldInfRoot, group) -+ else: -+ # only absolute paths are changed by root var in 3.x -+ if group.isAbsolute() and bldInfRoot: -+ group = generic_path.Join(bldInfRoot, group) ++ else: ++ # only absolute paths are changed by root var in 3.x ++ if group.isAbsolute() and bldInfRoot: ++ group = generic_path.Join(bldInfRoot, group) bldinf = generic_path.Join(group, "bld.inf").FindCaseless() -@@ -347,7 +383,7 @@ - self.__Logger.Error("No bld.inf found at %s in %s", group.GetLocalString(), self.__SystemDefinitionFile) + if bldinf == None: +- self.__Logger.Error("No bld.inf found at %s in %s", group.GetLocalString(), self.__SystemDefinitionFile) ++ # recording layers containing non existent bld.infs ++ bldinfname = group.GetLocalString() ++ bldinfname = bldinfname + 'bld.inf' ++ layer = self.__GetEffectiveLayer(aElement) ++ if not layer in self.__MissingBldInfs: ++ self.__MissingBldInfs[layer]=[] ++ self.__MissingBldInfs[layer].append(bldinfname) ++ else: component = self.__CreateComponent(bldinf, aElement) - layer = component.GetContainerName("layer") @@ -11697,7 +12871,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor: RELEASE-NOTES.html 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 --- /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 -+++ /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 ++++ /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 @@ -3,7 +3,7 @@ @@ -11721,7 +12895,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util: build 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 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/config.h 2010-05-18 19:32:34.797348465 +0100 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/config.h 2010-05-17 18:47:53.584842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/config.h 2010-06-04 12:09:25.536350000 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -11739,7 +12913,7 @@ #define HAS_SETENV 1 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 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/gccprogram.mk 2010-05-18 19:32:35.141349393 +0100 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/gccprogram.mk 2010-05-17 18:47:53.976844000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/gccprogram.mk 2010-06-04 12:09:28.348350000 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). @@ -11758,7 +12932,7 @@ 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 --- /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 -+++ /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 ++++ /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 @@ -1,6 +1,6 @@ #!/bin/bash @@ -11778,7 +12952,7 @@ grep -v 'util/build' | 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 --- /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 -+++ /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 ++++ /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 @@ -1,5 +1,5 @@ # -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -11943,7 +13117,7 @@ cleanup() 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 --- /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 -+++ /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 ++++ /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 @@ -1,4 +1,4 @@ -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -12033,7 +13207,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon: chomp.h 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/lock.c 2010-05-17 18:47:54.048842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/lock.c 2010-06-04 12:09:28.380350000 +0100 @@ -12,7 +12,7 @@ * Contributors: * @@ -12045,7 +13219,7 @@ 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 --- /home/imk/symbian/epocroot-pdk-3.0.i/latest_build/build/sbsv2/raptor/util/talon/Makefile 2010-05-18 19:32:35.173348431 +0100 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/Makefile 2010-05-17 18:47:54.044845000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/Makefile 2010-06-04 12:09:28.380350000 +0100 @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). @@ -12090,7 +13264,7 @@ + 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/process.c 2010-05-17 18:47:54.048842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/process.c 2010-06-04 12:09:28.384350000 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -12116,7 +13290,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/talon.c 2010-05-17 18:47:54.048842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/talon.c 2010-06-04 12:09:28.384350000 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -12262,7 +13436,7 @@ 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/testbuffer.c 2010-05-17 18:47:54.052842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/testbuffer.c 2010-06-04 12:09:28.384350000 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -12285,7 +13459,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon: testchomp.c 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 --- /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 -+++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/testprocess.c 2010-05-17 18:47:54.052842000 +0100 ++++ /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/testprocess.c 2010-06-04 12:09:28.388350000 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -12310,7 +13484,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests: run.sh 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 --- /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 -+++ /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 ++++ /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 @@ -1,5 +1,5 @@ # -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -12330,7 +13504,7 @@ 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 --- /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 -+++ /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 ++++ /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 @@ -1,5 +1,5 @@ # -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -12362,7 +13536,7 @@ 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 --- /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 -+++ /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 ++++ /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 @@ -1,5 +1,5 @@ # -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @@ -12381,7 +13555,7 @@ Only in /home/imk/symbian/epocroot-pdk-3.0.i/linux_build/sbsv2/raptor/util/talon/tests: t6.mk 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 --- /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 -+++ /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 ++++ /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 @@ -14,6 +14,7 @@ # Description: # @@ -12392,7 +13566,7 @@ COMPONENT_LAYER:=base 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 --- /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 -+++ /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 ++++ /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 @@ -1,5 +1,5 @@ # -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).