[Scummvm-cvs-logs] SF.net SVN: scummvm: [32803] scummvm/trunk

anotherguest at users.sourceforge.net anotherguest at users.sourceforge.net
Thu Jun 26 18:51:02 CEST 2008


Revision: 32803
          http://scummvm.svn.sourceforge.net/scummvm/?rev=32803&view=rev
Author:   anotherguest
Date:     2008-06-26 09:51:02 -0700 (Thu, 26 Jun 2008)

Log Message:
-----------
Fixed Symbian buildsystem for new defines. Fixed ARM asm syntax for Symbian build.

Modified Paths:
--------------
    scummvm/trunk/backends/platform/symbian/AdaptAllMMPs.pl
    scummvm/trunk/backends/platform/symbian/BuildPackageUpload_AllVersions.pl
    scummvm/trunk/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl
    scummvm/trunk/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
    scummvm/trunk/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_agi.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_agos.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_base.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_cine.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_cruise.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_drascula.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_gob.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_kyra.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_lure.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_m4.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_made.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_queen.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_saga.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_scumm.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_sky.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_sword1.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_sword2.mmp.in
    scummvm/trunk/backends/platform/symbian/mmp/scummvm_touche.mmp.in
    scummvm/trunk/backends/platform/symbian/src/portdefs.h
    scummvm/trunk/engines/scumm/gfxARM.s
    scummvm/trunk/engines/scumm/smush/codec47ARM.s

Modified: scummvm/trunk/backends/platform/symbian/AdaptAllMMPs.pl
===================================================================
--- scummvm/trunk/backends/platform/symbian/AdaptAllMMPs.pl	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/AdaptAllMMPs.pl	2008-06-26 16:51:02 UTC (rev 32803)
@@ -6,31 +6,37 @@
 
 # list of project files to process
 @mmp_files = (
-	"mmp/scummvm_scumm.mmp",
-	"mmp/scummvm_queen.mmp",
-	"mmp/scummvm_agos.mmp",
-	"mmp/scummvm_sky.mmp",
-	"mmp/scummvm_gob.mmp",
-	"mmp/scummvm_saga.mmp",
-	"mmp/scummvm_kyra.mmp",
-	"mmp/scummvm_sword1.mmp",
-	"mmp/scummvm_sword2.mmp",
-	"mmp/scummvm_lure.mmp",
-	"mmp/scummvm_cine.mmp",
-	"mmp/scummvm_agi.mmp",
-	"mmp/scummvm_touche.mmp",
-	"mmp/scummvm_parallaction.mmp",
-	"mmp/scummvm_cruise.mmp",
-	"mmp/scummvm_drascula.mmp",
-	"mmp/scummvm_igor.mmp",
+
+	# Engine Project files
+	"mmp/scummvm_agi.mmp", 
+	"mmp/scummvm_agos.mmp", 
+	"mmp/scummvm_cine.mmp", 
+	"mmp/scummvm_cruise.mmp", 
+	"mmp/scummvm_drascula.mmp", 
+	"mmp/scummvm_gob.mmp", 
+	"mmp/scummvm_igor.mmp", 
+	"mmp/scummvm_kyra.mmp", 
+	"mmp/scummvm_lure.mmp", 
+	"mmp/scummvm_m4.mmp",
 	"mmp/scummvm_made.mmp",
-	"mmp/scummvm_m4.mmp",
-	"S60/ScummVM_S60.mmp",
-	"S60v3/ScummVM_S60v3.mmp",
-	"S80/ScummVM_S80.mmp",
+	"mmp/scummvm_parallaction.mmp", 
+	"mmp/scummvm_queen.mmp", 
+	"mmp/scummvm_saga.mmp", 
+	"mmp/scummvm_scumm.mmp", 
+	"mmp/scummvm_sky.mmp", 
+	"mmp/scummvm_sword1.mmp", 
+	"mmp/scummvm_sword2.mmp", 
+	"mmp/scummvm_touche.mmp", 
+
+
+	# Target Platform Project Files
+	"S60/ScummVM_S60.mmp",  
+	"S60v3/ScummVM_S60v3.mmp", 
+	"S80/ScummVM_S80.mmp", 
 	"S90/ScummVM_S90.mmp",
-	"UIQ2/ScummVM_UIQ2.mmp",
-	"UIQ3/ScummVM_UIQ3.mmp"
+	"UIQ2/ScummVM_UIQ2.mmp", 
+	"UIQ3/ScummVM_UIQ3.mmp" 
+
 );
 
 # do this first to set all *.mmp & *.inf files to *.*.in states
@@ -43,7 +49,7 @@
 
 ";
 
-# do this first so we have @DisableDefines for correct inclusion of SOURCE files later
+# do this first so we have @EnabledDefines and @DisabledDefines for correct inclusion of SOURCE files later
 UpdateSlaveMacros();
 
 print "
@@ -53,33 +59,40 @@
 
 ";
 
+
+# some modules.mk files have #ifndef ENABLE_XXXX blocks:
 my @section_empty = (""); # section standard: no #ifdef's in module.mk files
-my @sections_scumm = ("", "DISABLE_SCUMM_7_8", "DISABLE_HE"); # special sections for engine SCUMM
+my @sections_scumm = ("", "ENABLE_SCUMM_7_8", "ENABLE_HE"); # special sections for engine SCUMM
 
+
 # files excluded from build, case insensitive, will be matched in filename string only
-my @excludes_snd = (
-	"mt32",
-	"fluidsynth",
-	"i386",
-	"part.cpp",
-	"partial.cpp",
-	"partialmanager.cpp",
+my @excludes_snd = ( 
+	"mt32.*",
+	"fluidsynth.cpp",
+	"i386.cpp",
+	"part.*",
 	"synth.cpp",
 	"tables.cpp",
-	"freeverb.cpp"
-);
+	"freeverb.cpp",
+	"rate.*"			# not really needed, USE_ARM_SOUND_ASM currently not parsed correctly,
+						# "rate[_arm|_arm_asm].(cpp|s)" will be added later based on WINS/ARM build!
+						# These #defines for compile time are set in portdefs.h
+); 
 
-my @excludes_graphics = (
-"iff.cpp"
-);
+my @excludes_graphics = ( 
+	"iff.cpp"
+); 
 
+# the USE_ARM_* defines not parsed correctly, exclude manually:
 my @excludes_scumm = (
-	"codec47ARM.cpp",
-	"gfxARM.cpp",
-	"proc3arm.cpp"
+	".*ARM.*",		# the *ARM.s files are added in .mpp files based on WINS/ARM build!
+	# USE_ARM_SMUSH_ASM		codec47ARM.s
+	# USE_ARM_GFX_ASM		gfxARM.s
+	# USE_ARM_COSTUME_ASM	proc3ARM.s			compiled, linked?, but *not* used :P (portdefs.h)
 );
 
-#arseModule(mmpStr,		dirStr,		ifdefArray,		[exclusionsArray])
+
+#arseModule(mmpStr,		dirStr,		ifdefArray,				[exclusionsArray])
 ParseModule("_base",	"base",		\@section_empty); # now in ./TRG/ScummVM_TRG.mmp, these never change anyways...
 ParseModule("_base",	"common",	\@section_empty);
 ParseModule("_base",	"gui",		\@section_empty);
@@ -98,14 +111,14 @@
 ParseModule("_sword2",	"sword2",	\@section_empty);
 ParseModule("_lure",	"lure",		\@section_empty);
 ParseModule("_cine",	"cine",		\@section_empty);
-ParseModule("_agi",	"agi",		\@section_empty);
+ParseModule("_agi",		"agi",		\@section_empty);
 ParseModule("_touche",	"touche",	\@section_empty);
 ParseModule("_parallaction","parallaction",\@section_empty);
 ParseModule("_cruise",	"cruise",	\@section_empty);
 ParseModule("_drascula","drascula",	\@section_empty);
 ParseModule("_igor",	"igor",		\@section_empty);
 ParseModule("_made",	"made",		\@section_empty);
-ParseModule("_m4",	"m4",		\@section_empty);
+ParseModule("_m4",		"m4",		\@section_empty);
 print "
 =======================================================================================
 Done. Enjoy :P
@@ -115,7 +128,7 @@
 ##################################################################################################################
 ##################################################################################################################
 
-# parses multiple sections per mmp/module
+# parses multiple sections per mmp/module 
 sub ParseModule
 {
 	my ($mmp,$module,$sections,$exclusions) = @_;
@@ -140,7 +153,7 @@
 	if (-d $item)
 	{
 		#print "$item\n";
-
+		
 		opendir DIR, $item;
 		#my @Files = readdir DIR;
 		my @Files = grep s/^([^\.].*)$/$1/, readdir DIR;
@@ -156,9 +169,10 @@
 	if (-f $item and $item =~ /.*\/module.mk$/)
 	{
 		my $sec = "";
+		my $isenable;
 		my $ObjectsSelected = 0;
 		my $ObjectsTotal = 0;
-
+		
 		print "$item for section '$section' ... ";
 
 		open FILE, $item;
@@ -167,14 +181,24 @@
 
 		my $count = @lines;
 		print "$count lines";
-
+		
 		A: foreach $line (@lines)
 		{
-			# found a section? reset
+			# all things we need are inside #ifdef sections,
+			# there is nothing we need in #ifndef sections: so ignore these for now
+			
+			# found a section? reset 
+			if ($line =~ /^ifdef (.*)/)
+			{
+				$sec = $1;
+				$isenable = 1;
+			}
 			if ($line =~ /^ifndef (.*)/)
 			{
 				$sec = $1;
+				$isenable = 0;
 			}
+
 			# found an object? Not uncommented!
 			if (!($line =~ /^#/) && $line =~ s/\.o/.cpp/)
 			{
@@ -187,27 +211,47 @@
 					$line =~ s/ \\//; # remove possible trailing ' \'
 					$line =~ s/\//\\/g; # replace / with \
 					chop($line); # remove \n
-
+					
 					# do we need to skip this file? According to our own @exclusions array
 					foreach $exclusion (@exclusions)
 					{
 						if ($line =~ /$exclusion/i)
 						{
-							print "\n      ! $line (excluded, \@exclusions[$exclusion])";
+							my $reason = "excluded, \@exclusions[$exclusion]";
+							print "\n      ! $line ($reason)";
+							$output .= "//SOURCE $line ($reason)\n";
 							next A;
 						}
 					}
-
-					# do we need to skip this file? According to MACROs in .MMPs
-					foreach $DisableDefine (@DisableDefines)
+					
+					# do we need to do this file? According to MACROs in .MMPs
+					my $found = 0;
+					foreach $EnableDefine (@EnabledDefines)
 					{
-						if ($DisableDefine eq $section && $section ne '')
+						if (($EnableDefine eq $section) && ($section ne ''))
 						{
-							print "\n         !$line (excluded, MACRO $DisableDefine)";
-							next A;
+							$found = 1;
+							last;
 						}
 					}
-
+					foreach $DisableDefine (@DisabledDefines)
+					{
+						if (($DisableDefine eq $section) && ($section ne ''))
+						{
+							$found = 0;
+							last;
+						}
+					}
+					# always allow non-sections
+					$found = 1 if ($section eq '');
+					if (!$found)
+					{
+						my $reason = "excluded, MACRO $section";
+						print "\n         !$line ($reason)";
+						$output .= "//SOURCE $line ($reason)\n";
+						next A;
+					}
+										
 					$ObjectsSelected++;
 					#print "\n         $line";
 					$output .= "SOURCE $line\n";
@@ -230,7 +274,7 @@
 	my $updated = " Updated @ ".localtime();
 	my $name;
 	my @mmp_files_plus_one = @mmp_files;
-	unshift @mmp_files_plus_one, "mmp/scummvm_base.mmp";
+	unshift @mmp_files_plus_one, "mmp/scummvm_base.mmp";	
 
 	foreach $name (@mmp_files_plus_one)
 	{
@@ -239,23 +283,23 @@
 		open FILE, "$file";
 		my @lines = <FILE>;
 		close FILE;
-
+		
 		my $onestr = join("", at lines);
-
+		
 		if ($onestr =~ /$n/)
 		{
 
 			print "      - $name @ $n updating ... ";
-
+	
 			$onestr =~ s/$a.*$b/$a$updated\n$output$b/s;
 			open FILE, ">$file";
 			print FILE $onestr;
 			close FILE;
-
+			
 			print "done.\n";
 		}
 	}
-
+		
 	$output = "";
 }
 
@@ -265,7 +309,7 @@
 {
 	my $updated = " Updated @ ".localtime();
 
-	my $name = "mmp/scummvm_base.mmp";
+	my $name = "mmp/scummvm_base.mmp";	
 	my $file = "$buildDir/$name";
 	print "Reading master MACROS from backends/symbian/$name ... ";
 
@@ -279,7 +323,7 @@
 	my $b = "\/\/STOP_$n\/\/";
 	$onestr =~ /$a(.*)$b/s;
 	my $macros = $1;
-
+	
 	my $libs_first = "\n// automagically enabled static libs from macros above\n";
 	my $libs_second = "STATICLIBRARY	scummvm_base.lib // must be above USE_* .libs\n";
 	my $macro_counter = 0;
@@ -292,32 +336,45 @@
 		if ($line =~ /^.*MACRO\s*([0-9A-Z_]*)\s*\/\/\s*LIB\:(.*)$/)
 		{
 			my $macro = $1; my $lib = $2;
-
+			
 			# this macro enabled? then also add the .lib
 			if ($line =~ /^\s*MACRO\s*$macro/m)
 			{
-				# these are the USE_ libs
+				# add an USE_ lib? (these need to be added @ the beginning, before _base)
 				$libs_second .= "STATICLIBRARY	$lib\n" if ($macro =~ /^USE_/);
+
+				# add an ENABLE_ lib? (these need to be added @ the end, after _base)
+				if ($macro =~ /^ENABLE_/)
+				{
+					$libs_first .= "STATICLIBRARY	$lib\n";
+					
+					# add projects for BLD.INF's
+					my $projectname = substr("$lib",0,-4);
+					$projects .= "..\\mmp\\$projectname.mmp\n";
+				}
 			}
 			else
 			{
-				# these are the non DISABLED_ libs
-				$libs_first .= "STATICLIBRARY	$lib\n" if ($macro =~ /^DISABLE_/);
-
-				# add projects for BLD.INF's
-				my $projectname = substr("$lib",0,-4);
-				$projects .= "..\\mmp\\$projectname.mmp\n" if ($macro =~ /^DISABLE_/);
+				# skip lines not beginning with "MACRO" (like "//MACRO")
 			}
 			$macro_counter++;
 		}
+
 		# not commented out? then add the macro to output string
 		if ($line =~ /^\s*MACRO\s*([0-9A-Z_]*)\s*/)
 		{
 			my $macro = $1;
 			$macros2 .= "$line\n";
-			push @DisableDefines, $macro; # used in CheckForModuleMK()!!
+			if ($macro =~ /^ENABLE_/)
+			{
+				push @EnabledDefines, $macro; # used in CheckForModuleMK()!!
+			}
+			elsif ($macro =~ /^DISABLE_/)
+			{
+				push @DisabledDefines, $macro; # used in CheckForModuleMK()!!
+			}
 		}
-	}
+	}		
 
 	print "$macro_counter macro lines.\n";
 
@@ -328,23 +385,23 @@
 	$m = "AUTO_PROJECTS";
 	$p = "\/\/START_$m\/\/";
 	$q = "\/\/STOP_$m\/\/";
-
+	
 	foreach $name (@mmp_files)
 	{
 		$file = "$buildDir/$name";
 		$fileBLDINF = $buildDir .'/'. substr($name, 0, rindex($name, "/")) . "/BLD.INF";
 		print "Updating macros   in $file ... ";
 		#print "Updating macros in backends/symbian/$name ... ";
-
+	
 		open FILE, "$file";	@lines = <FILE>; close FILE;
 		$onestr = join("", at lines);
-
+	
 		my $extralibs = ""; # output
 		# slash in name means it's a phone specific build file: add LIBs
 		$extralibs .= "$libs_first$libs_second" if (-e $fileBLDINF);
-
+		
 		$onestr =~ s/$a.*$b/$a$updated$macros2$extralibs$b/s;
-
+		
 		open FILE, ">$file"; print FILE $onestr; close FILE;
 
 		my $count = @lines;
@@ -358,13 +415,13 @@
 
 			open FILE, "$fileBLDINF";	@lines = <FILE>; close FILE;
 			$onestr = join("", at lines);
-
+		
 			$onestr =~ s/$p.*$q/$p$updated$projects$q/s;
-
+			
 			open FILE, ">$fileBLDINF"; print FILE $onestr; close FILE;
 		}
 	}
-}
+}		
 
 ##################################################################################################################
 
@@ -372,10 +429,10 @@
 {
 	my $onestr, @lines;
 	my @mmp_files_plus_one = @mmp_files;
-#	unshift @mmp_files_plus_one, "mmp/scummvm_base.mmp";
-
+#	unshift @mmp_files_plus_one, "mmp/scummvm_base.mmp";	
+	
 	print "Resetting project files: ";
-
+	
 	# we don't need to do mmp/scummvm_base.mmp", it was done in BuildPackageUpload.pl before the call to this script
 	foreach $name (@mmp_files_plus_one)
 	{
@@ -395,7 +452,7 @@
 			$onestr = join("", at lines);
 			open FILE, ">$fileBLDINF"; print FILE $onestr; close FILE;
 		}
-	}
+	}	
 
 	print "... done.\n";
 }

Modified: scummvm/trunk/backends/platform/symbian/BuildPackageUpload_AllVersions.pl
===================================================================
--- scummvm/trunk/backends/platform/symbian/BuildPackageUpload_AllVersions.pl	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/BuildPackageUpload_AllVersions.pl	2008-06-26 16:51:02 UTC (rev 32803)
@@ -8,6 +8,7 @@
 ##################################################################################################################
 # prep some vars
 
+# the dir containing the build files: '.\backends\platforms\symbian\$SDK_BuildDir\'
 $SDK_BuildDirs{'UIQ2'}	= "UIQ2";
 $SDK_BuildDirs{'UIQ3'}	= "UIQ3";
 $SDK_BuildDirs{'S60v1'}	= "S60";
@@ -16,6 +17,7 @@
 $SDK_BuildDirs{'S80'}	= "S80";
 $SDK_BuildDirs{'S90'}	= "S90";
 
+# the target name inserted here: 'abld BUILD $SDK_TargetName UREL' 
 $SDK_TargetName{'UIQ2'}	= "armi";
 $SDK_TargetName{'UIQ3'}	= "gcce";
 $SDK_TargetName{'S60v1'}= "armi";
@@ -24,6 +26,7 @@
 $SDK_TargetName{'S80'}	= "armi";
 $SDK_TargetName{'S90'}	= "armi";
 
+# Binaries are installed here: '$SDK_RootDirs\epoc32\release\$SDK_TargetDir\urel\'
 $SDK_TargetDir{'UIQ2'}	= "armi";
 $SDK_TargetDir{'UIQ3'}	= "armv5";
 $SDK_TargetDir{'S60v1'}	= "armi";
@@ -34,11 +37,11 @@
 
 $build_dir = getcwd();
 $output_dir = "$build_dir/Packages";
-chdir("../../");
+chdir("../../../");
 $base_dir = getcwd();
 chdir($build_dir);
-$build_log_out = "$build_dir/Build.out.log";
-$build_log_err = "$build_dir/Build.err.log";
+$build_log_out = "$build_dir/out.build.out.log"; # don't start these files with "Build"
+$build_log_err = "$build_dir/out.build.err.log"; # so "B"+TAB completion works in 1 go :P
 
 $initial_path = $ENV{'PATH'}; # so we can start with a fresh PATH for each Build
 
@@ -54,14 +57,27 @@
 @ErrorMessages = ();
 $ftp_url = "FTP://$FTP_User\@$FTP_Host/$FTP_Dir/";
 
-$ExtraMacros =  "MACRO			NONSTANDARD_PORT\n";
-$ExtraMacros .= "MACRO			DISABLE_FANCY_THEMES\n";
+# these macros are always defined:
+$ExtraMacros =  "MACRO		NONSTANDARD_PORT\n";
+$ExtraMacros .= "MACRO		DISABLE_FANCY_THEMES\n";
+$ExtraMacros .= "MACRO		DISABLE_SCALERS\n";
+$ExtraMacros .= "MACRO		DISABLE_HQ_SCALERS\n";
 
 # prep nice list of SDKs
 #while( ($SDK, $RootDir) = each(%SDK_RootDirs) )
 foreach $SDK (sort keys(%SDK_RootDirs))
 {
-	$SDKs .= "$SDK\t$SDK_RootDirs{$SDK}\n\t\t\t";
+	# see if it exists!
+	if (-d $SDK_RootDirs{$SDK})
+	{
+		$SDKs .= "$SDK\t$SDK_RootDirs{$SDK}\n\t\t\t";
+	}
+	else # missing?
+	{
+		$SDKs .= "$SDK\t$SDK_RootDirs{$SDK}\t[MISSING: Skipping!]\n\t\t\t";
+		# remove it from array, to prevent building!
+		delete $SDK_RootDirs{$SDK};
+	}
 }
 
 # prep nice list of Libraries
@@ -69,7 +85,16 @@
 {
 	while( ($Library, $Path) = each(%{$SDK_LibraryDirs{$SDK}}) )
 	{
-		$PresentLibs{$Library} = $Path;
+		# maybe it's already been built?
+		if (-e $SDK_RootDirs{$SDK}."\\epoc32\\release\\$SDK_TargetDir{$SDK}\\urel\\$Library")
+		{
+			$PresentLibs{$Library} = "$Path  [EXISTS: Skipping!]";
+			delete $SDK_LibraryDirs{$SDK}{$Library};
+		}
+		else # make it!
+		{
+			$PresentLibs{$Library} = "$Path";
+		}
 	}
 }
 foreach $Library (sort keys(%PresentLibs))
@@ -78,10 +103,37 @@
 }
 
 # prep nice list of Variations
-while( ($SDK, $Value) = each(%SDK_Variations) )
+#while( ($SDK, $Value) = each(%SDK_Variations) )
+#{
+#	while( ($Variation, $Value2) = each(%{$SDK_Variations{$SDK}}) )
+#	{
+#		$Extra = ($Variation ne '' ? "_$Variation" : "");
+#		if ($SDK eq "ALL")
+#		{
+#			while( ($SDK2, $RootDir) = each(%SDK_RootDirs) )
+#			{
+#				if ($SDK_RootDirs{$SDK2} ne '') # is this SDK listed as installed? (fails silently)
+#				{
+#					push @Packages, sprintf($file_tpl_sis, $version_tpl_sis, $SDK2, $Extra);
+#					$PackagesQueued++;
+#				}
+#			}	
+#		}
+#		else
+#		{
+#			if ($SDK_RootDirs{$SDK} ne '') # is this SDK listed as installed? (fails silently)
+#			{
+#				push @Packages, sprintf($file_tpl_sis, $version_tpl_sis, $SDK, $Extra);
+#				$PackagesQueued++;
+#			}
+#		}
+#	}
+#}
+while( ($SDK, $Value) = each(%VariationSets) )
 {
-	while( ($Variation, $Value2) = each(%{$SDK_Variations{$SDK}}) )
+	while( ($Variation, $FeaturesBlock) = each(%{$VariationSets{$SDK}}) )
 	{
+#my $MacroBlock = &MakeMppMacroDefs($FeaturesBlock);
 		$Extra = ($Variation ne '' ? "_$Variation" : "");
 		if ($SDK eq "ALL")
 		{
@@ -92,7 +144,7 @@
 					push @Packages, sprintf($file_tpl_sis, $version_tpl_sis, $SDK2, $Extra);
 					$PackagesQueued++;
 				}
-			}
+			}	
 		}
 		else
 		{
@@ -118,7 +170,7 @@
 
 	SDKs inst'd  \t$SDKs	".(	%SDK_LibraryDirs ? "
 	LIBs inst'd  \t$LIBs	" : "" )."
-	$PackagesQueued Variations \t$PackagesStr
+	$PackagesQueued Variations \t$PackagesStr	
 	DIR base     \t$base_dir
 	    build    \t$build_dir
 	    output   \t$output_dir
@@ -126,7 +178,7 @@
 	FTP host     \t$FTP_Host
 	    user     \t$FTP_User
 	    pass     \t"."*" x length($FTP_Pass)."
-	    dir      \t$FTP_Dir
+	    dir      \t$FTP_Dir	
 " : "" )."
 =======================================================================================
 Press Ctrl-C to abort or enter to continue Build, Package & Upload $PackagesQueued Variations...
@@ -142,7 +194,7 @@
 unlink($build_log_err);
 
 # init _base.mmp now, so we can start changing it without affecting the CVS version _base.mmp.in!
-my $name = "mmp/scummvm_base.mmp";
+my $name = "mmp/scummvm_base.mmp";	
 my $file  = "$build_dir/$name";
 open FILE, "$file.in";	@lines = <FILE>; close FILE;
 my $onestr = join("", at lines);
@@ -161,15 +213,21 @@
 			{
 				if ($SDK_RootDirs{$SDK2} ne '') # is this SDK listed as installed? (fails silently)
 				{
+					# do we already have this one?
+					next if (-e $SDK_RootDirs{$SDK2}."\\epoc32\\release\\$SDK_TargetDir{$SDK2}\\urel\\$Library");
+
 					$LibrariesQueued++;
 					DoLibrary($SDK2, $Library, $Path);
 				}
-			}
+			}	
 		}
 		else
 		{
 			if ($SDK_RootDirs{$SDK} ne '') # is this SDK listed as installed? (fails silently)
 			{
+				# do we already have this one?
+				next if (-e $SDK_RootDirs{$SDK}."\\epoc32\\release\\$SDK_TargetDir{$SDK}\\urel\\$Library");
+
 				$LibrariesQueued++;
 				DoLibrary($SDK, $Library, $Path);
 			}
@@ -194,8 +252,33 @@
 				{
 					DoVariation($SDK2, $Variation, $MacroBlock);
 				}
+			}	
+		}
+		else
+		{
+			if ($SDK_RootDirs{$SDK} ne '')
+			{
+				DoVariation($SDK, $Variation, $MacroBlock);
 			}
 		}
+	}
+}
+
+while( ($SDK, $VariationsHash) = each(%VariationSets) )
+{
+	while( ($Variation, $FeaturesBlock) = each(%{$VariationSets{$SDK}}) )
+	{
+		my $MacroBlock = &MakeMppMacroDefs($FeaturesBlock);
+		if ($SDK eq "ALL")
+		{
+			while( ($SDK2, $RootDir) = each(%SDK_RootDirs) )
+			{
+				if ($SDK_RootDirs{$SDK2} ne '')
+				{
+					DoVariation($SDK2, $Variation, $MacroBlock);
+				}
+			}	
+		}
 		else
 		{
 			if ($SDK_RootDirs{$SDK} ne '')
@@ -248,7 +331,81 @@
 ##################################################################################################################
 ##################################################################################################################
 
-# Build, Package & Upload a single Variation
+# create a set of "MACRO xxx" definitions for use in the scummvm_base.mpp file
+sub MakeMppMacroDefs
+{
+	my ($features) = @_;
+	
+	my %EnabledFeatures = ();
+	foreach (split(/\W|\r|\n/, $features))
+	{
+		if ($_ ne "")
+		{
+			#print "FEATURE: $_\n";
+			$EnabledFeatures{$_} = 1;
+		}
+	}
+
+	my $MacroDefs = "";
+
+	$MacroDefs .= "	// Features //\n";
+	foreach my $e (sort keys %UseableFeatures)
+	{
+		my $E = uc($e);
+		if ($EnabledFeatures{$e})
+		{
+			$MacroDefs .= "MACRO		USE_$E			// LIB:$UseableFeatures{$e}\n";
+			# this one is used: remove it now
+			delete $EnabledFeatures{$e};
+			# this will leave us with a list of unparsed options!
+		}
+		else
+		{
+			$MacroDefs .= "//MACRO		USE_$E\n";
+		}
+	}
+
+	$MacroDefs .= "	// Engines //\n";
+	foreach my $e (sort @EnablableEngines)
+	{
+		my $E = uc($e);
+		if ($EnabledFeatures{$e})
+		{
+			$MacroDefs .= "MACRO		ENABLE_$E		// LIB:scummvm_$e.lib\n";
+			# this one is used: remove it now
+			delete $EnabledFeatures{$e};
+			# this will leave us with a list of unparsed options!
+		}
+		else
+		{
+			$MacroDefs .= "//MACRO		ENABLE_$E\n";
+		}
+	}
+
+	$MacroDefs .= "	// SubEngines //\n";
+	foreach my $e (sort @EnablableSubEngines)
+	{
+		my $E = uc($e);
+		if ($EnabledFeatures{$e})
+		{
+			$MacroDefs .= "MACRO		ENABLE_$E\n";
+			# this one is used: remove it now
+			delete $EnabledFeatures{$e};
+			# this will leave us with a list of unparsed options!
+		}
+		else
+		{
+			$MacroDefs .= "//MACRO		ENABLE_$E\n";
+		}
+	}
+	
+#print "\n\n'$features' ==> $MacroDefs\n\n\n";
+	return $MacroDefs;
+}
+
+##################################################################################################################
+
+# Build, Package & Upload a single Variation 
 sub DoLibrary
 {
 	my ($SDK, $Library, $Path) = @_;
@@ -278,19 +435,19 @@
 	my $OK = 1;
 
 	PrepSdkPaths($SDK);
-
+	
 	chdir($Path) or $OK=0;
 	PrintErrorMessage("Changing to $Path failed!") if (!$OK);
-	return 0 if (!$OK);
+	return 0 if (!$OK);	
 
 	PrintMessage("Cleaning for $Target") if (!$ReallyQuiet);
 	system("bldmake bldfiles > NUL 2> NUL");
 	PrintErrorMessage("'bldmake bldfiles' exited with value " . ($? >> 8)) if ($? >> 8);
-	system("abld clean $TargetName urel > NUL 2> NUL");
-	PrintErrorMessage("'abld clean $TargetName urel' exited with value " . ($? >> 8)) if ($? >> 8);
+	system("abld CLEAN $TargetName UREL > NUL 2> NUL");
+	PrintErrorMessage("'abld CLEAN $TargetName urel' exited with value " . ($? >> 8)) if ($? >> 8);	
 	# remove file so we are sure that after .lib generation we have a fresh copy!
 	if (-e $TargetFilePath) { unlink($TargetFilePath) or PrintErrorMessage("Removing $TargetFilePath"); }
-
+	
 	my $Redirection = "OUT:file, ERR:".($RedirectSTDERR ? "file" : "screen");
 	my $Message = "Building $Target ($Redirection)";
 	PrintMessage($Message) if (!$ReallyQuiet);
@@ -298,18 +455,18 @@
 
 	my $OldSize = (-s $build_log_err);
 	$Redirection = ($RedirectSTDERR ? "2>> $build_log_err" : "");
-	system("abld build $TargetName urel $Redirection >> $build_log_out");
+	system("abld BUILD $TargetName UREL $Redirection >> $build_log_out");
 	$OK = 0 if ($? >> 8);
 #	print "  STDERR: ".((-s $build_log_err)-$OldSize)." bytes output written to $build_log_err\n+--------------------------------------------------------------------------------------\n" if ($OldSize != (-s $build_log_err));
-	PrintErrorMessage("'abld build $TargetName urel' exited with value " . ($? >> 8)) if ($? >> 8);
-	return 0 if (!$OK); # ABLD always returns ok :( grr
+	PrintErrorMessage("'abld BUILD $TargetName UREL' exited with value " . ($? >> 8)) if ($? >> 8);
+	return 0 if (!$OK); # ABLD always returns ok :( grr	
 	PrintMessage("Done.") if (!$ReallyQuiet);
 
 	# did it work? :)
 	if (-e $TargetFilePath)
 	{
 		$LibrariesSucceeded++;
-
+		
 		if ($TargetIntermediatePath ne '' && $TargetIntermediatePath =~ /\\EPOC32\\BUILD\\/i) # make really sure it's a valid path!
 		{
 			system("del /S /Q $TargetIntermediatePath > NUL");
@@ -318,9 +475,9 @@
 	}
 	else
 	{
-		PrintErrorMessage("'abld build $TargetName urel' apparently failed.");
+		PrintErrorMessage("'abld BUILD $TargetName UREL' apparently failed.");
 		if ($HaltOnError)
-		{
+ 		{
 			PrintErrorMessage("Halting on error as requested!");
 			exit 1;
 		}
@@ -330,12 +487,12 @@
 
 ##################################################################################################################
 
-# Build, Package & Upload a single Variation
+# Build, Package & Upload a single Variation 
 sub DoVariation
 {
 	my ($SDK, $Variation, $MacroBlock) = @_;
 	my $Extra = ($Variation ne '' ? "_$Variation" : "");
-	my $Package = sprintf($file_tpl_sis, $version_tpl_sis, $SDK, $Extra);
+	my $Package = sprintf($file_tpl_sis, $version_tpl_sis, $SDK, $Extra);	
 
 	if ($SkipExistingPackages && -f "$output_dir/$Package")
 	{
@@ -366,7 +523,7 @@
 	if ($OK)
 	{
 		$OK = BuildVariation($SDK, $Variation, $Package, $MacroBlock);
-
+	
 		if ($OK && $FTP_Host ne '')
 		{
 			UploadVariation($SDK, $Variation, $Package);
@@ -382,17 +539,17 @@
 	my $OK = 1;
 
 	PrepSdkPaths($SDK);
-
+	
 	chdir($build_dir) or $OK=0;
 	PrintErrorMessage("Changing to $build_dir failed!") if (!$OK);
-	return 0 if (!$OK);
+	return 0 if (!$OK);	
 
 	# insert $MacroBlock into AUTO_MACRO_MASTER in scummvm_base.mmp
 	PrintMessage("Setting new AUTO_MACROS_MASTER in scummvm_base.mmp for '$Variation'") if (!$ReallyQuiet);
 	my $n = "AUTO_MACROS_MASTER";
 	my $a = "\/\/START_$n\/\/";
 	my $b = "\/\/STOP_$n\/\/";
-	my $name = "scummvm_base.mmp";
+	my $name = "scummvm_base.mmp";	
 	my $file = "$build_dir/mmp/$name";
 	my $updated = " Updated @ ".localtime();
 
@@ -401,11 +558,11 @@
 	return 0 if (!$OK);
 	my @lines = <FILE>;
 	close FILE;
-
+	
 	my $onestr = join("", at lines);
 	$MacroBlock =~ s/^\s*//gm;
 	$onestr =~ s/$a(.*)$b/$a$updated\n$ExtraMacros$MacroBlock$b/s;
-
+	
 	open FILE, ">$file" or $OK=0;
 	PrintErrorMessage("Writing file '$file'") if (!$OK);
 	return 0 if (!$OK);
@@ -418,7 +575,7 @@
 	$OK = 0 if ($? >> 8);
 	PrintErrorMessage("'AdaptAllMMPs.pl' exited with value " . ($? >> 8)) if ($? >> 8);
 	return 0 if (!$OK);
-
+	
 	# we are here: so all is ok :)
 	return 1;
 }
@@ -431,7 +588,7 @@
 	my $TargetName = $SDK_TargetName{$SDK};
 	my $TargetDir  = $SDK_TargetDir{$SDK};
 	my $OK = 1;
-
+	
 	my $dir = $build_dir."/".$SDK_BuildDirs{$SDK};
 	$dir =~ s#/#\\#g;
 	chdir($dir);
@@ -449,13 +606,15 @@
 	if (-e $UnlinkFile) { unlink($UnlinkFile) or PrintErrorMessage("Removing $UnlinkFile"); }
 	$UnlinkFile = $SDK_RootDirs{$SDK}."/epoc32/release/$TargetDir/urel/ScummVM.exe";
 	if (-e $UnlinkFile) { unlink($UnlinkFile) or PrintErrorMessage("Removing $UnlinkFile"); }
+	# remove all libs here, note they are in another dir!
+	system("rm ".$SDK_RootDirs{$SDK}."/epoc32/release/$TargetName/urel/scummvm_*.lib");
 
 	system("bldmake bldfiles 2> NUL > NUL");
 	PrintErrorMessage("'bldmake bldfiles' exited with value " . ($? >> 8)) if ($? >> 8);
 
-	system("abld clean $TargetName urel 2> NUL > NUL");
-	PrintErrorMessage("'abld clean $TargetName urel' exited with value " . ($? >> 8)) if ($? >> 8);
-
+	system("abld CLEAN $TargetName UREL 2> NUL > NUL");
+	PrintErrorMessage("'abld CLEAN $TargetName UREL' exited with value " . ($? >> 8)) if ($? >> 8);	
+	
 	my $Redirection = "OUT:file, ERR:".($RedirectSTDERR ? "file" : "screen");
 	my $Message = "Building $Package ($Redirection)";
 	PrintMessage($Message) if (!$ReallyQuiet);
@@ -463,11 +622,11 @@
 
 	my $OldSize = (-s $build_log_err);
 	$Redirection = ($RedirectSTDERR ? "2>> $build_log_err" : "");
-	system("abld build $TargetName urel $Redirection >> $build_log_out");
+	system("abld BUILD $TargetName UREL $Redirection >> $build_log_out");
 	$OK = 0 if ($? >> 8);
 	print "  STDERR: ".((-s $build_log_err)-$OldSize)." bytes output written to $build_log_err\n+--------------------------------------------------------------------------------------\n" if ($OldSize != (-s $build_log_err) && !$ReallyQuiet);
-	PrintErrorMessage("'abld build $TargetName urel' exited with value " . ($? >> 8)) if ($? >> 8);
-	return 0 if (!$OK); # ABLD always returns ok :( grr
+	PrintErrorMessage("'abld BUILD $TargetName UREL' exited with value " . ($? >> 8)) if ($? >> 8);
+	return 0 if (!$OK); # ABLD always returns ok :( grr	
 	PrintMessage("Done.") if (!$ReallyQuiet);
 
 	# do we have an override suffix for the package name?
@@ -491,7 +650,7 @@
 	if (-e "$output_dir/$Package")
 	{
 		$PackagesCreated++;
-
+		
 		if ($TargetIntermediatePath ne '' && $TargetIntermediatePath =~ /\\EPOC32\\BUILD\\/i) # make really sure it's a valid path!
 		{
 			#PrintMessage("Cleaning $TargetIntermediatePath");
@@ -514,7 +673,7 @@
 
 	use Net::FTP;
 	my $newerr;
-
+	
 	PrintMessage("Connecting to FTP $FTP_Host") if (!$ReallyQuiet);
 
 	$ftp = Net::FTP->new($FTP_Host,Timeout=>240) or $newerr=1;
@@ -529,7 +688,7 @@
 			{
 				PrintMessage("Changing to dir $FTP_Dir");
 				$ftp->cwd($FTP_Dir) or $newerr=1;
-
+				
 				if ($newerr)
 				{
 					PrintErrorMessage("Changing to dir $FTP_Dir! Aborting!");
@@ -541,20 +700,20 @@
 # leave this for possible auto-deletion of old files?
 #			@files = $ftp->dir or $newerr=1;
 #			  push @ERRORS, "Can't get file list $!\n" if $newerr;
-#			print "Got  file list\n";
+#			print "Got  file list\n";   
 #			foreach(@files) {
 #			  print "$_\n";
 #			}
-
+		
 			PrintMessage("Uploading $Package (".(-s "$output_dir/$Package")." bytes)");
-
+			
 			$ftp->binary;
 			$ftp->put("$output_dir/$Package") or $newerr=1;
 			PrintErrorMessage("Uploading package! Aborting!") if $newerr;
 			$PackagesUploaded++ if (!$newerr);
-		}
+		}		
 
-		$ftp->quit;
+		$ftp->quit;	
 	}
 }
 
@@ -574,6 +733,7 @@
 
 	# set env stuff
 	PrintMessage("Prepending $SDK specific paths to %PATH%") if (!$ReallyQuiet);
+	$AdditionalPathEntries .= "$SDK_ToolchainDirs{$SDK};" if ($SDK_ToolchainDirs{$SDK} ne '');
 	$AdditionalPathEntries .= "$ECompXL_BinDir;" if ($ECompXL_BinDir ne '' && $SDK eq 'UIQ2');
 	$AdditionalPathEntries .= "$EPOC32RT\\include;";
 	$AdditionalPathEntries .= "$EPOC32RT\\tools;";
@@ -594,7 +754,7 @@
 	{
 		$path =~ s/\"\Q$ECompXL_BinDir\E\";//g;
 	}
-
+	
 	while( ($SDK, $RootDir) = each(%SDK_RootDirs) )
 	{
 		if ($SDK_RootDirs{$SDK} ne '')
@@ -602,8 +762,8 @@
 			my $path_component = "\"".$SDK_RootDirs{$SDK}."\\epoc32\\";
 			$path =~ s/\Q$path_component\E.*?\";//g;
 		}
-	}
-
+	}	
+	
 	return $path;
 }
 
@@ -634,4 +794,5 @@
 }
 
 ##################################################################################################################
+ 
 

Modified: scummvm/trunk/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl
===================================================================
--- scummvm/trunk/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl	2008-06-26 16:51:02 UTC (rev 32803)
@@ -1,75 +1,119 @@
 
 ##################################################################################################################
 
-	# you can use these below for speed & clarity or override with custom settings
-	$DefaultTopMacros = "
-		MACRO			USE_ZLIB			// LIB:zlib.lib
-		MACRO			USE_MAD				// LIB:libmad.lib
-		MACRO			USE_TREMOR			// LIB:libtremor.lib
-	";
+	@WorkingEngines = qw(
+		scumm agos sky queen gob saga 
+		kyra lure agi 
+	);
+	@TestingEngines = qw(
+		cine cruise touche parallaction 
+		drascula igor made m4
+	);
+	@BrokenEngines = qw(
+		sword1
+		sword2
+	);
 
-	$DefaultBottomMacros = "
-		MACRO			DISABLE_SWORD1		// LIB:scummvm_sword1.lib
-		MACRO			DISABLE_SWORD2		// LIB:scummvm_sword2.lib
-	";
+	@EnablableEngines = (@WorkingEngines, @TestingEngines);
 
+	@EnablableSubEngines = qw(
+		scumm_7_8
+		he
+	);
+
+	%UseableFeatures = (
+		'zlib'		=> 'zlib.lib', 
+		'mad'		=> 'libmad.lib', 
+		'tremor'	=> 'libtremor.lib',
+		'mpeg2'		=> 'libmpeg2.lib'
+	);
+	
+	# these are normally enabled for each variation
+	$DefaultFeatures = qw(zlib tremor);
+	#$DefaultFeatures = qw(zlib mad tremor);
+
+	
+														# you can use these below for speed & clarity or override with custom settings
+														$DefaultTopMacros = "
+															MACRO			USE_ZLIB			// LIB:zlib.lib
+															//MACRO			USE_MAD				// LIB:libmad.lib
+															MACRO			USE_TREMOR			// LIB:libtremor.lib
+														";
+													
+														$DefaultBottomMacros = "
+															MACRO			DISABLE_SWORD1		// LIB:scummvm_sword1.lib
+															MACRO			DISABLE_SWORD2		// LIB:scummvm_sword2.lib
+														";
+													
+##################################################################################################################
 	##
-	## General system information:
+	## General system information, based on $COMPUTERNAME, so this way
+	## you can use the same LocalSettings.pl file on multiple machines!
 	##
+##################################################################################################################
 
-	# this way you can use the same LocalSettings.pl file on multiple machines!
-	if ($ENV{'COMPUTERNAME'} eq "BRAAMBOOK")
+	if ($ENV{'COMPUTERNAME'} eq "PC-21") #########################################################################
 	{
 		# might use this string for file/dir naming in the future :)
 		$Producer = "SumthinWicked";
 		$RedirectSTDERR = 0;
-		$HaltOnError = 1;
+		$HaltOnError = 0;
 		$SkipExistingPackages = 0;
 		$ReallyQuiet = 0;
-
+		$DevBase = "C:\\S";
+		
 		# specify an optional FTP server to upload to after each Build+Package (can leave empty)
-		#$FTP_Host = "host.domain";
-		#$FTP_User = "test";
-		#$FTP_Pass = "test";
-		#$FTP_Dir  = "test";
-
 		#$FTP_Host = "host.com";
 		$FTP_User = "something";
 		$FTP_Pass = "password";
 		$FTP_Dir  = "cvsbuilds";
-
+	
+		# What Platform SDKs are installed on this machine?
 		# possible SDKs: ("UIQ2", UIQ3", "S60v1", "S60v2", "S60v3", "S80", "S90")
 		# Note1: the \epoc32 directory needs to be in these rootdirs
 		# Note2: these paths do NOT end in a backslash!
-		$SDK_RootDirs{'UIQ2'}	= "C:\\S\\UIQ_21";
-		$SDK_RootDirs{'S60v1'}	= "C:\\S\\S60v1";
-		$SDK_RootDirs{'S60v2'}	= "C:\\S\\S60v2";
-		$SDK_RootDirs{'S80'}	= "C:\\S\\S80";
-		$SDK_RootDirs{'S90'}	= "C:\\S\\S90";
-		$ECompXL_BinDir			= "C:\\S\\ECompXL\\bin"; # only needed for UIQ
-		# you need to specify each of the SDKs used in the blocks below!
+	#	$SDK_RootDirs{'UIQ2'}	= "$DevBase\\UIQ_21";
+		$SDK_RootDirs{'UIQ3'}	= "$DevBase\\UIQ3";
+	#	$SDK_RootDirs{'S60v1'}	= "$DevBase\\S60v1";
+	#	$SDK_RootDirs{'S60v2'}	= "$DevBase\\S60v2";
+		$SDK_RootDirs{'S60v3'}	= "$DevBase\\S60v3";
+	#	$SDK_RootDirs{'S80'}	= "$DevBase\\S80";
+	#	$SDK_RootDirs{'S90'}	= "$DevBase\\S90";
 
+		$SDK_ToolchainDirs{'S60v3'} = "$DevBase\\arm-symbianelf\\bin";
+		$SDK_ToolchainDirs{'UIQ2'}	= "$DevBase\\ECompXL\\bin"; # only needed for UIQ2/UIQ3
+		$SDK_ToolchainDirs{'UIQ3'}	= "$DevBase\\ECompXL\\bin"; # only needed for UIQ2/UIQ3
+
 		# these supporting libraries get built first, then all the Variations
 		# Note: the string {'xxx.lib'} is used in checking in build success: so needs to be accurate!
 		if (0) # so we can turn them on/off easily
 		{
-			#$SDK_LibraryDirs{'ALL'}{'zlib.lib'}		= "C:\\S\\zlib-1.2.2\\epoc";
-			#$SDK_LibraryDirs{'ALL'}{'libmad.lib'}	= "C:\\S\\libmad-0.15.1b\\group";
-			#$SDK_LibraryDirs{'ALL'}{'libtremor.lib'}= "C:\\S\\tremor\\epoc";
-			$SDK_LibraryDirs{'UIQ2'}{'esdl.lib'}	= $SDK_LibraryDirs{'UIQ3'}{'esdl.lib'} = "C:\\S\\ESDL\\epoc\\UIQ";
-			#$SDK_LibraryDirs{'S60v1'}{'esdl.lib'}	= $SDK_LibraryDirs{'S60v2'}{'esdl.lib'} = $SDK_LibraryDirs{'S60v3'}{'esdl.lib'} = "C:\\S\\ESDL\\epoc\\S60";
-			#$SDK_LibraryDirs{'S80'}{'esdl.lib'}		= "C:\\S\\ESDL\\epoc\\S80";
-			#$SDK_LibraryDirs{'S90'}{'esdl.lib'}		= "C:\\S\\ESDL\\epoc\\S90";
-			#$SDK_LibraryDirs{'ALL'}{'libmpeg2.lib'} = "C:\\S\\mpeg2dec-0.4.0\\epoc";
+			## Standard libraries
+			$SDK_LibraryDirs{'ALL'}{'zlib.lib'}		= "$DevBase\\zlib-1.2.2\\epoc";
+			#$SDK_LibraryDirs{'ALL'}{'libmad.lib'}	= "$DevBase\\libmad-0.15.1b\\group";
+			$SDK_LibraryDirs{'ALL'}{'libtremor.lib'}= "$DevBase\\tremor\\epoc";
+			
+			## SDL 1.2.12 / AnotherGuest / Symbian version
+			my $SdlBase = "$DevBase\\SDL-1.2.12-ag\\Symbian";
+			#$SDK_LibraryDirs{'S60v1'}{'esdl.lib'}	= "$SdlBase\\S60"; // unsupported? 
+			#$SDK_LibraryDirs{'S60v2'}{'esdl.lib'}	= "$SdlBase\\S60v2";
+			$SDK_LibraryDirs{'S60v3'}{'esdl.lib'}	= "$SdlBase\\S60v3";
+			#$SDK_LibraryDirs{'S80'}{'esdl.lib'}	= "$SdlBase\\S80";
+			#$SDK_LibraryDirs{'S90'}{'esdl.lib'}	= "$SdlBase\\S90";
+			#$SDK_LibraryDirs{'UIQ2'}{'esdl.lib'}	= "$SdlBase\\UIQ2"
+			#$SDK_LibraryDirs{'UIQ3'}{'esdl.lib'}	= "$SdlBase\\UIQ3";
+
+			## HardlySupported(TM) :P
+			#$SDK_LibraryDirs{'ALL'}{'libmpeg2.lib'} = "$DevBase\\mpeg2dec-0.4.0\\epoc";
 		}
+		
+		# now you can add $VariationSets only built on this PC below this line :)
 
-		# backup :P
-		#Path=C:\Progra~1\Active\Python24\.;C:\Program Files\Active\Tcl\bin;C:\Progra~1\Active\Perl\bin\;C:\WINDOWS\system32;C:\W
-		#INDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\GNU\cvsnt;C:\Progra
-		#m Files\WinSCP3\;"C:\Program Files\Common Files\Microsoft Shared\VSA\8.0\VsaEnv\";"c:\Program Files\Microsoft Visual Stu
-		#dio 8\VC\bin";"C:\Program Files\UltraEdit-32"
+		#$VariationSets{'ALL'}{'scumm'} = "$DefaultFeatures scumm scumm_7_8 he";
+		#$VariationSets{'ALL'}{'all'} = "$DefaultFeatures @WorkingEngines @EnablableSubEngines";
+
 	}
-	elsif ($ENV{'COMPUTERNAME'} eq "TSSLND0106")
+	elsif ($ENV{'COMPUTERNAME'} eq "TSSLND0106") #################################################################
 	{
 		$Producer = "AnotherGuest";
 		$RedirectSTDERR = 1;
@@ -90,7 +134,7 @@
 		#$SDK_RootDirs{'S80'}= "C:\\S80";
 		#$SDK_RootDirs{'S90'}= "C:\\S90";
 		$ECompXL_BinDir= "C:\\ECompXL\\";
-if (0) # so we can turn them on/off easily
+		if (0) # so we can turn them on/off easily
 		{
 #			$SDK_LibraryDirs{'ALL'}{'zlib.lib'}		= "C:\\S\\zlib-1.2.2\\epoc";
 #			$SDK_LibraryDirs{'ALL'}{'libmad.lib'}	= "C:\\S\\libmad-0.15.1b\\group";
@@ -101,9 +145,11 @@
 #			$SDK_LibraryDirs{'S90'}{'esdl.lib'}		= "C:\\S\\ESDL\\epoc\\S90";
 			#$SDK_LibraryDirs{'ALL'}{'libmpeg2.lib'} = "C:\\S\\mpeg2dec-0.4.0\\epoc";
 		}
-		# now you can add $SDK_Variations only built on this PC here :)
+
+		# now you can add $VariationSets only built on this PC below this line :)
+
 	}
-elsif ($ENV{'COMPUTERNAME'} eq "BIGMACHINE")
+	elsif ($ENV{'COMPUTERNAME'} eq "BIGMACHINE") #################################################################
 	{
 		$Producer = "AnotherGuest";
 		$RedirectSTDERR = 1;
@@ -124,7 +170,7 @@
 		#$SDK_RootDirs{'S80'}= "E:\\S80";
 		#$SDK_RootDirs{'S90'}= "E:\\S90";
 		$ECompXL_BinDir= "E:\\ECompXL\\";
-if (0) # so we can turn them on/off easily
+		if (0) # so we can turn them on/off easily
 		{
 #			$SDK_LibraryDirs{'ALL'}{'zlib.lib'}		= "C:\\S\\zlib-1.2.2\\epoc";
 #			$SDK_LibraryDirs{'ALL'}{'libmad.lib'}	= "C:\\S\\libmad-0.15.1b\\group";
@@ -137,28 +183,32 @@
 			$SDK_LibraryDirs{'UIQ3'}{'esdl.lib'}		= "E:\\WICKED\\ESDL\\epoc\\UIQ\\UIQ3";
 			#$SDK_LibraryDirs{'ALL'}{'libmpeg2.lib'} = "C:\\S\\mpeg2dec-0.4.0\\epoc";
 		}
-		# now you can add $SDK_Variations only built on this PC here :)
+
+		# now you can add $VariationSets only built on this PC below this line :)
+
 	}
-	else
+	else #########################################################################################################
 	{
 		print "ERROR: Computer name ".$ENV{'COMPUTERNAME'}." not recognized! Plz edit _LocalSettings.pl!";
 		exit 1;
 	}
 
+##################################################################################################################
 	##
 	## Variation defines:
 	##
+##################################################################################################################
 
 	# second hash index = literal string used in .sis file created.
 	# empty string also removes the trailing '_'. Some 051101 examples:
 
-	# $SDK_Variations{'UIQ2'}{''} would produce:
+	# $VariationSets{'UIQ2'}{''} would produce:
 	#   scummvm-051101-SymbianUIQ2.sis
 
-	# $SDK_Variations{'S60v2'}{'agos'} would produce:
+	# $VariationSets{'S60v2'}{'agos'} would produce:
 	#   scummvm-051101-SymbianS60v2_agos.sis
 
-	# $SDK_Variations{'ALL'}{'queen'} with all $SDK_RootDirs defined would produce:
+	# $VariationSets{'ALL'}{'queen'} with all $SDK_RootDirs defined would produce:
 	#   scummvm-051101-SymbianUIQ2_queen.sis
 	#   scummvm-051101-SymbianUIQ3_queen.sis
 	#   scummvm-051101-SymbianS60v1_queen.sis
@@ -167,362 +217,48 @@
 	#   scummvm-051101-SymbianS80_queen.sis
 	#   scummvm-051101-SymbianS90_queen.sis
 
-	#$SDK_Variations{'ALL'}{'test'} = "$DefaultTopMacro
-	#	//MACRO			USE_TREMOR			// LIB:libtremor.lib
-	#	//MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-	#	//MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-	#	//MACRO			DISABLE_SKY			// LIB:scummvm_sky.lib
-	#	//MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-	#	//MACRO			DISABLE_GOB			// LIB:scummvm_gob.lib
-	#	//MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-	#	//MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-	#$DefaultBottomMacros";
-	#$SDK_Variations{'S60v1'}{'test'} = $SDK_Variations{'UIQ2'}{'test'};
-
-if (1) # all regular combo's
-{
-	# the first one includes all SDKs & release-ready engines
-
-	$SDK_Variations{'ALL'}{'all'} = "$DefaultTopMacros
-		//MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		//MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		//MACRO			DISABLE_SKY		// LIB:scummvm_sky.lib
-		//MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		//MACRO			DISABLE_GOB		// LIB:scummvm_gob.lib
-		//MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		//MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		//MACRO			DISABLE_AGI		// LIB:scummvm_agi.lib
-		//MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		//MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-		//MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		//MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib
+	# NOTE: empty $VariationSets{''} string instead of 'ALL' = easy way to disable pkg!
 	
-		//MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		//MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-		//MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		//MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		//MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	$DefaultBottomMacros";
+	if (1) # all regular combo's
+	{
+		# the first one includes all SDKs & release-ready engines
+	
+			$VariationSets{'ALL'}{'all'} = "$DefaultFeatures @WorkingEngines @EnablableSubEngines";
+	
+		# now one for each ready-for-release engine
+	
+			foreach (@WorkingEngines)
+			{
+				$VariationSets{'ALL'}{$_} = "$DefaultFeatures $_";
+			}
+			# for scumm, we need to add 2 features:
+			$VariationSets{'ALL'}{'scumm'} .= " scumm_7_8 he";
+	
+		# now one for each not-ready-for-release-or-testing engine
+	
+			foreach (@TestingEngines)
+			{
+				$VariationSets{'ALL'}{"test_$_"} = "$DefaultFeatures $_";
+			}
+	
+		# below here you could specify weird & experimental combinations, non-ready engines
+	
+			# a small version of the saga engine, because it is so big (no tremor,mad,zlib)
+			$VariationSets{'ALL'}{'saga_mini'} = "saga";
+		
+			# a smaller version of scumm without support for v7, v8 and HE games
+			$VariationSets{'ALL'}{'scumm_no78he'} = "$DefaultFeatures scumm";
+	
+			# maybe you feel lucky and want to test the sword engines? :P
+			#$VariationSets{'S60v2'}{'test_sword'} = "$DefaultFeatures mpeg2 sword1 sword2";
+			#$VariationSets{'UIQ2'}{'test_sword'}  = "$DefaultFeatures mpeg2 sword1 sword2";
+	
+			# for mega-fast-testing only plz! Warning: contains to engines!
+			#$VariationSets{'ALL'}{'fast_empty'} = "";
+	
+	} # end quick-n-fast if (1|0)
 
-	# now one for each ready-for-release engine
 
-	$SDK_Variations{'ALL'}{'scumm'} = "$DefaultTopMacros
-		//MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		MACRO			DISABLE_SKY			// LIB:scummvm_sky.lib
-		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		MACRO			DISABLE_GOB			// LIB:scummvm_gob.lib
-		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-		MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib	
-		MACRO			DISABLE_AGI		// LIB:scummvm_agi.lib
-		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-		MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	$DefaultBottomMacros";
-
-	$SDK_Variations{'ALL'}{'agos'} = "$DefaultTopMacros
-		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		//MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		MACRO			DISABLE_SKY		// LIB:scummvm_sky.lib
-		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		MACRO			DISABLE_GOB		// LIB:scummvm_gob.lib
-		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-		MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib	
-		MACRO			DISABLE_AGI		// LIB:scummvm_agi.lib
-		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-		MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	$DefaultBottomMacros";
-
-	$SDK_Variations{'ALL'}{'sky'} = "$DefaultTopMacros
-		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		//MACRO			DISABLE_SKY		// LIB:scummvm_sky.lib
-		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		MACRO			DISABLE_GOB		// LIB:scummvm_gob.lib
-		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-		MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib	
-		MACRO			DISABLE_AGI		// LIB:scummvm_agi.lib
-		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-		MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	$DefaultBottomMacros";
-
-	$SDK_Variations{'ALL'}{'queen'} = "$DefaultTopMacros
-		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		MACRO			DISABLE_SKY		// LIB:scummvm_sky.lib
-		//MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		MACRO			DISABLE_GOB		// LIB:scummvm_gob.lib
-		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		MACRO			DISABLE_AGI		// LIB:scummvm_agi.lib
-		MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-         	MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib		 
-		MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	$DefaultBottomMacros";
-
-	$SDK_Variations{'ALL'}{'gob'} = "$DefaultTopMacros
-		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		MACRO			DISABLE_SKY			// LIB:scummvm_sky.lib
-		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		//MACRO			DISABLE_GOB			// LIB:scummvm_gob.lib
-		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		MACRO			DISABLE_AGI			// LIB:scummvm_agi.lib
-		MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-         	MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib		  
-		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-		MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	$DefaultBottomMacros";
-
-	$SDK_Variations{'ALL'}{'saga'} = "$DefaultTopMacros
-		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		MACRO			DISABLE_SKY		// LIB:scummvm_sky.lib
-		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		MACRO			DISABLE_GOB		// LIB:scummvm_gob.lib
-		//MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-         	MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib		  
-		MACRO			DISABLE_AGI		// LIB:scummvm_agi.lib
-		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-		MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	$DefaultBottomMacros";
-
-	$SDK_Variations{'ALL'}{'kyra'} = "$DefaultTopMacros
-		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		MACRO			DISABLE_SKY			// LIB:scummvm_sky.lib
-		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		MACRO			DISABLE_GOB			// LIB:scummvm_gob.lib
-		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		//MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		MACRO			DISABLE_AGI			// LIB:scummvm_agi.lib
-		MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-         	MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib		  
-		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-		MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	$DefaultBottomMacros";
-
-	# below here you could specify weird & experimental combinations, non-ready engines
-
-	$SDK_Variations{'ALL'}{'saga_mini'} = "
-		//MACRO			USE_ZLIB			// LIB:zlib.lib
-		//MACRO			USE_MAD				// LIB:libmad.lib
-		//MACRO			USE_TREMOR			// LIB:libtremor.lib
-		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		MACRO			DISABLE_SKY			// LIB:scummvm_sky.lib
-		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		MACRO			DISABLE_GOB			// LIB:scummvm_gob.lib
-		//MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		MACRO			DISABLE_AGI			// LIB:scummvm_agi.lib
-		MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-         	MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib		  
-		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-		MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	$DefaultBottomMacros";
-
-#	$SDK_Variations{'ALL'}{'scumm_no78he'} = "
-#		MACRO			USE_ZLIB			// LIB:zlib.lib
-#		MACRO			USE_MAD				// LIB:libmad.lib
-#		//MACRO			USE_TREMOR			// LIB:libtremor.lib
-#		MACRO			DISABLE_SCUMM_7_8
-#		MACRO			DISABLE_SCUMM_HE
-#		//MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-#		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-#		MACRO			DISABLE_SKY			// LIB:scummvm_sky.lib
-#		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-#		MACRO			DISABLE_GOB			// LIB:scummvm_gob.lib
-#		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-#		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-#		MACRO			DISABLE_AGI			// LIB:scummvm_agi.lib
-#		MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-#		MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-#		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-#	$DefaultBottomMacros";
-
-#	$SDK_Variations{'ALL'}{'all_vorbis'} = "
-#		MACRO			USE_ZLIB			// LIB:zlib.lib
-#		MACRO			USE_MAD				// LIB:libmad.lib
-#		MACRO			USE_TREMOR			// LIB:libtremor.lib
-#
-#		//MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-#		//MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-#		//MACRO			DISABLE_SKY			// LIB:scummvm_sky.lib
-#		//MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-#		//MACRO			DISABLE_GOB			// LIB:scummvm_gob.lib
-#		//MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-#		//MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-#	$DefaultBottomMacros";
-
-	$SDK_Variations{'ALL'}{'lure'} = "$DefaultTopMacros
-		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		MACRO			DISABLE_SKY			// LIB:scummvm_sky.lib
-		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		MACRO			DISABLE_GOB			// LIB:scummvm_gob.lib
-		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		//MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		MACRO			DISABLE_CINE		// LIB:scummvm_agi.lib
-         	MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib		  
-		MACRO			DISABLE_AGI		// LIB:scummvm_agi.lib
-		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-		MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	$DefaultBottomMacros";
-
-	# empty $SDK_Variations{''} string instead of 'ALL' = package disabled
-	$SDK_Variations{'ALL'}{'test_cine'} = "$DefaultTopMacros
-		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		MACRO			DISABLE_SKY			// LIB:scummvm_sky.lib
-		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		MACRO			DISABLE_GOB			// LIB:scummvm_gob.lib
-		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		//MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-         	MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib		  
-		MACRO			DISABLE_AGI			// LIB:scummvm_agi.lib
-		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-		MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	$DefaultBottomMacros";
-
-	$SDK_Variations{'ALL'}{'agi'} = "$DefaultTopMacros
-		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		MACRO			DISABLE_SKY		// LIB:scummvm_sky.lib
-		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		MACRO			DISABLE_GOB		// LIB:scummvm_gob.lib
-		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-         	MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib		  
-		//MACRO			DISABLE_AGI		// LIB:scummvm_agi.lib
-		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-		MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	$DefaultBottomMacros";
-
-
-	$SDK_Variations{'ALL'}{'test_touche'} = "$DefaultTopMacros
-		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-		MACRO			DISABLE_SKY		// LIB:scummvm_sky.lib
-		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-		MACRO			DISABLE_GOB		// LIB:scummvm_gob.lib
-		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-		MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-		MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-		MACRO			DISABLE_AGI		// LIB:scummvm_agi.lib
-		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-		//MACRO			DISABLE_TOUCHE		// LIB:scummvm_touche.lib
-		MACRO			DISABLE_SWORD1		// LIB:scummvm_sword1.lib
-		MACRO			DISABLE_SWORD2		// LIB:scummvm_sword2.lib
-		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-		MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib
-		MACRO			DISABLE_IGOR		// LIB:scummvm_igor.lib
-		MACRO			DISABLE_MADE		// LIB:scummvm_made.lib
-		MACRO			DISABLE_M4		// LIB:scummvm_m4.lib
-	";
-}
-
-#
-#	$SDK_Variations{'S60v2'}{'test_sword'} = "$DefaultTopMacros
-#		MACRO			USE_MPEG2			// LIB:libmpeg2.lib
-#		MACRO			USE_TREMOR			// LIB:libtremor.lib
-#		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-#		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-#		MACRO			DISABLE_SKY			// LIB:scummvm_sky.lib
-#		MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-#		MACRO			DISABLE_GOB			// LIB:scummvm_gob.lib
-#		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-#		MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-#		MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-#		MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-#		MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-#		//MACRO			DISABLE_SWORD1		// LIB:scummvm_sword1.lib
-#		//MACRO			DISABLE_SWORD2		// LIB:scummvm_sword2.lib
-#	";
-#	$SDK_Variations{'UIQ2'}{'test_sword'} = $SDK_Variations{'S60v2'}{'test_sword'}
-#
-
-# for mega-fast-testing only plz!
-#	$SDK_Variations{'ALL'}{'(fast_empty)'} = "
-#		//MACRO			USE_ZLIB			// LIB:zlib.lib
-#		//MACRO			USE_MAD				// LIB:libmad.lib
-#		//MACRO			USE_TREMOR			// LIB:libtremor.lib
-#		MACRO			USE_UIQ_SE_VIBRA	// LIB:vibration.lib
-#		MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-#		MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-#		MACRO			DISABLE_SKY			// LIB:scummvm_sky.lib
-#		//MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-#		MACRO			DISABLE_GOB			// LIB:scummvm_gob.lib
-#		MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-#	$DefaultBottomMacros";
-
 ##################################################################################################################
 
 1;

Modified: scummvm/trunk/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -29,7 +29,7 @@
 TARGET          ScummVM.exe
 TARGETPATH      sys\bin
 TARGETTYPE      exe
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 
 UID             0x100039ce 0xA0000657
 
@@ -82,10 +82,10 @@
 STATICLIBRARY esdl.lib
 
 #if !defined(WINS)
-staticlibrary rate_arm_asm.o 
-staticlibrary proc3arm.o
-staticlibrary codec47ARM.o 
-staticlibrary gfxARM.o 
+//staticlibrary rate_arm_asm.o 
+//staticlibrary proc3arm.o
+//staticlibrary codec47ARM.o 
+//staticlibrary gfxARM.o 
 #endif
 
 // *** Include paths

Modified: scummvm/trunk/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETPATH      sys\bin
 TARGETTYPE      exe
 
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 
 UID             0x100039ce 0xA0000657
 

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_agi.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_agi.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_agi.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_agos.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_agos.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_agos.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_base.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_base.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_base.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,37 +30,16 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 // Note: the LIB:*.lib statements are used by AdaptAllMMPs.pl, so don't remove them!
 //START_AUTO_MACROS_MASTER//
 
 	// empty base file, will be updated by Perl build scripts
+	// this file will be modified first, then from here all
+	// MACROs will be replicated to the other MPP files.
 
-	// list of possible MACROs: (will be replaced when generating scummvm_base.mmp)
-	//MACRO			USE_ZLIB			// LIB:zlib.lib
-	//MACRO			USE_MAD				// LIB:libmad.lib
-	//MACRO			USE_TREMOR			// LIB:libtremor.lib
-	//MACRO			USE_UIQ_SE_VIBRA	// LIB:vibration.lib
-	//MACRO			DISABLE_SCUMM_7_8
-	//MACRO			DISABLE_SCUMM_HE
-	//MACRO			DISABLE_SCUMM		// LIB:scummvm_scumm.lib
-	//MACRO			DISABLE_AGOS		// LIB:scummvm_agos.lib
-	//MACRO			DISABLE_SKY		// LIB:scummvm_sky.lib
-	//MACRO			DISABLE_QUEEN		// LIB:scummvm_queen.lib
-	//MACRO			DISABLE_GOB		// LIB:scummvm_gob.lib
-	//MACRO			DISABLE_SAGA		// LIB:scummvm_saga.lib
-	//MACRO			DISABLE_KYRA		// LIB:scummvm_kyra.lib
-	//MACRO			DISABLE_SWORD1		// LIB:scummvm_sword1.lib
-	//MACRO			DISABLE_SWORD2		// LIB:scummvm_sword2.lib
-	//MACRO			DISABLE_LURE		// LIB:scummvm_lure.lib
-	//MACRO			DISABLE_CINE		// LIB:scummvm_cine.lib
-	//MACRO			DISABLE_AGI		// LIB:scummvm_agi.lib
-	//MACRO			DISABLE_PARALLACTION	// LIB:scummvm_parallaction.lib
-	//MACRO			DISABLE_CRUISE		// LIB:scummvm_cruise.lib
-	//MACRO			DISABLE_DRASCULA	// LIB:scummvm_drascula.lib
-
 //STOP_AUTO_MACROS_MASTER//
 
 // *** Include paths
@@ -77,6 +56,7 @@
 
 // *** SOURCE files
 
+
 SOURCEPATH ..\..\..\..\common
 //START_AUTO_OBJECTS_COMMON_//
 
@@ -84,6 +64,7 @@
 
 //STOP_AUTO_OBJECTS_COMMON_//
 
+
 SOURCEPATH ..\..\..\..\graphics
 //START_AUTO_OBJECTS_GRAPHICS_//
 
@@ -91,6 +72,7 @@
 
 //STOP_AUTO_OBJECTS_GRAPHICS_//
 
+
 SOURCEPATH ..\..\..\..\gui
 //START_AUTO_OBJECTS_GUI_//
 
@@ -103,6 +85,7 @@
 //SOURCE KeysDialog.cpp
 //SOURCE Actions.cpp
 
+
 SOURCEPATH ..\..\..\..\sound
 //START_AUTO_OBJECTS_SOUND_//
 
@@ -110,16 +93,22 @@
 
 //STOP_AUTO_OBJECTS_SOUND_//
 #if defined (WINS)
-SOURCE rate.cpp
+SOURCE rate.cpp			// WINS emulator version: add regular .cpp
 #else
-SOURCE rate_arm.cpp
+SOURCE rate_arm.cpp		// ARM version: add ASM .cpp wrapper
+SOURCE rate_arm_asm.s	// ARM version: add ASM routines
 #endif
-sourcepath ..\..\..\..
-source	   backends\events\default\default-events.cpp
-source	   backends\timer\default\default-timer.cpp
-source	   backends\saves\savefile.cpp
-source	   backends\saves\default\default-saves.cpp
-source	   backends\saves\compressed\compressed-saves.cpp
-source	   engines\engine.cpp
+
+
+// add a few files manually, since they are not parsed from modules.mk files
+SOURCEPATH ..\..\..\..
+SOURCE	   backends\events\default\default-events.cpp
+SOURCE	   backends\timer\default\default-timer.cpp
+SOURCE	   backends\saves\savefile.cpp
+SOURCE	   backends\saves\default\default-saves.cpp
+SOURCE	   backends\saves\compressed\compressed-saves.cpp
+SOURCE	   engines\engine.cpp
+
+
 // backend specific includes
 // backend specific includes

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_cine.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_cine.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_cine.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_cruise.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_cruise.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_cruise.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_drascula.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_drascula.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_drascula.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_gob.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_gob.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_gob.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_kyra.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_kyra.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_kyra.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_lure.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_lure.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_lure.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_m4.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_m4.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_m4.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_made.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_made.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_made.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_queen.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_queen.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_queen.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_saga.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_saga.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_saga.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_scumm.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_scumm.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_scumm.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//
@@ -43,24 +43,35 @@
 
 SOURCEPATH ..\..\..\..\engines\scumm
 
+
 //START_AUTO_OBJECTS_SCUMM_//
 
 	// empty base file, will be updated by Perl build scripts
 
 //STOP_AUTO_OBJECTS_SCUMM_//
+#if !defined (WINS)
+SOURCE gfxARM.s					// ARM version: add ASM routines
+SOURCE proc3ARM.s				// ARM version: add ASM routines
+#endif
 
-//START_AUTO_OBJECTS_SCUMM_DISABLE_SCUMM_7_8//
 
+//START_AUTO_OBJECTS_SCUMM_ENABLE_SCUMM_7_8//
+
 	// empty base file, will be updated by Perl build scripts
 
-//STOP_AUTO_OBJECTS_SCUMM_DISABLE_SCUMM_7_8//
+//STOP_AUTO_OBJECTS_SCUMM_ENABLE_SCUMM_7_8//
+#if !defined (WINS)
+SOURCE smush/codec47ARM.s		// ARM version: add ASM routines
+#endif
 
-//START_AUTO_OBJECTS_SCUMM_DISABLE_HE//
 
+//START_AUTO_OBJECTS_SCUMM_ENABLE_HE//
+
 	// empty base file, will be updated by Perl build scripts
 
-//STOP_AUTO_OBJECTS_SCUMM_DISABLE_HE//
+//STOP_AUTO_OBJECTS_SCUMM_ENABLE_HE//
 
+
 // *** Include paths
 
 USERINCLUDE     ..\..\..\..\engines ..\..\..\..\engines\scumm\smush ..\..\..\..\engines\scumm\insane

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_sky.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_sky.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_sky.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_sword1.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_sword1.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_sword1.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_sword2.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_sword2.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_sword2.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/mmp/scummvm_touche.mmp.in
===================================================================
--- scummvm/trunk/backends/platform/symbian/mmp/scummvm_touche.mmp.in	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/mmp/scummvm_touche.mmp.in	2008-06-26 16:51:02 UTC (rev 32803)
@@ -30,7 +30,7 @@
 TARGETTYPE      lib
 OPTION			MSVC /QIfist /Ob1 /Oy /GF // /QIfist disables use of __ftol2 to avoid linker probs with MS libc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcrefQIfistSuppress_ftol.asp
 OPTION			GCC -Wno-multichar -Wno-reorder // don't optimize for ARM, platform way too sensitive for that :( just turn off some common warnings
-OPTION			GCCE -Wno-multichar -Wno-reorder -fsigned-char
+OPTION			GCCE -Wno-multichar -Wno-reorder -Wno-unused -Wno-format -fsigned-char
 ALWAYS_BUILD_AS_ARM
 
 //START_AUTO_MACROS_SLAVE//

Modified: scummvm/trunk/backends/platform/symbian/src/portdefs.h
===================================================================
--- scummvm/trunk/backends/platform/symbian/src/portdefs.h	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/backends/platform/symbian/src/portdefs.h	2008-06-26 16:51:02 UTC (rev 32803)
@@ -35,8 +35,8 @@
 #include <e32std.h>
 #include <math.h>
 
-#define DISABLE_SCALERS // we only need 1x
-#define DISABLE_HQ_SCALERS
+//#define DISABLE_SCALERS // we only need 1x
+//#define DISABLE_HQ_SCALERS
 
 #if defined(USE_TREMOR) && !defined(USE_VORBIS)
 #define USE_VORBIS // make sure this one is defined together with USE_TREMOR!

Modified: scummvm/trunk/engines/scumm/gfxARM.s
===================================================================
--- scummvm/trunk/engines/scumm/gfxARM.s	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/engines/scumm/gfxARM.s	2008-06-26 16:51:02 UTC (rev 32803)
@@ -59,7 +59,7 @@
 	CMP	r1,#4			@ If width<4
 	BLT	end			@    return
 
-	@ Width &= ~4 ? What's that about then? Width &= ~3 I could have
+	@ Width &= ~4 ? What''s that about then? Width &= ~3 I could have
 	@ understood...
 	BIC	r1,r1,#4
 

Modified: scummvm/trunk/engines/scumm/smush/codec47ARM.s
===================================================================
--- scummvm/trunk/engines/scumm/smush/codec47ARM.s	2008-06-26 15:44:26 UTC (rev 32802)
+++ scummvm/trunk/engines/scumm/smush/codec47ARM.s	2008-06-26 16:51:02 UTC (rev 32803)
@@ -80,7 +80,7 @@
 	LDRB	r9,[r8,#384]		@ r9 = l = tmp_ptr[384]
 	LDRB	r6,[r1],#1		@ r6 = val = *_d_src++
 	ADD	r12,r8,#384		@ r12= &tmp_ptr[384]
-	@ I don't really believe the next 2 lines are necessary, but...
+	@ I don''t really believe the next 2 lines are necessary, but...
 	CMP	r9,#0
 	BEQ	level1codeFD_over1
 level1codeFD_loop1:
@@ -94,7 +94,7 @@
 	LDRB	r9,[r12,#1]		@ r9 = l = tmp_ptr[385]
 	LDRB	r6,[r1],#1		@ r6 = val = *_d_src++
 	SUB	r12,r12,#256		@ r12= &tmp_ptr[128] (256 = 384-128)
-	@ I don't really believe the next 2 lines are necessary, but...
+	@ I don''t really believe the next 2 lines are necessary, but...
 	CMP	r9,#0
 	BEQ	level1codeFD_over2
 level1codeFD_loop2:
@@ -219,7 +219,7 @@
 	LDRB	r9,[r8,#96]		@ r9 = l = tmp_ptr[96]
 	LDRB	r6,[r1],#1		@ r6 = val = *_d_src++
 	ADD	r12,r8,#32		@ r12 = tmp_ptr + 32
-	@ I don't really believe the next 2 lines are necessary, but...
+	@ I don''t really believe the next 2 lines are necessary, but...
 	CMP	r9,#0
 	BEQ	level2codeFD_over1
 level2codeFD_loop1:
@@ -232,7 +232,7 @@
 level2codeFD_over1:
 	LDRB	r9,[r12,#65]		@ r9 = l = tmp_ptr[97] (65 = 97-32)
 	LDRB	r6,[r1],#1		@ r6 = val = *_d_src++
-	@ I don't really believe the next 2 lines are necessary, but...
+	@ I don''t really believe the next 2 lines are necessary, but...
 	CMP	r9,#0
 	MOVEQ	PC,R14
 level2codeFD_loop2:


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list