diff options
Diffstat (limited to 'backends/platform/symbian')
24 files changed, 249 insertions, 166 deletions
diff --git a/backends/platform/symbian/AdaptAllMMPs.pl b/backends/platform/symbian/AdaptAllMMPs.pl index a4fdd669ca..8e97f469f9 100644 --- a/backends/platform/symbian/AdaptAllMMPs.pl +++ b/backends/platform/symbian/AdaptAllMMPs.pl @@ -8,40 +8,41 @@ chdir("../../../"); @mmp_files = ( # 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_groovie.mmp", - "mmp/scummvm_kyra.mmp", - "mmp/scummvm_lure.mmp", + "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_groovie.mmp", + "mmp/scummvm_kyra.mmp", + "mmp/scummvm_lure.mmp", "mmp/scummvm_m4.mmp", "mmp/scummvm_made.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_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", - "mmp/scummvm_tinsel.mmp", - "mmp/scummvm_tucker.mmp", - "mmp/scummvm_sci.mmp", - "mmp/scummvm_draci.mmp", - "mmp/scummvm_teenagent.mmp", - "mmp/scummvm_mohawk.mmp", + "mmp/scummvm_touche.mmp", + "mmp/scummvm_tinsel.mmp", + "mmp/scummvm_tucker.mmp", + "mmp/scummvm_sci.mmp", + "mmp/scummvm_draci.mmp", + "mmp/scummvm_teenagent.mmp", + "mmp/scummvm_mohawk.mmp", + "mmp/scummvm_hugo.mmp", # Target Platform Project Files - "S60/ScummVM_S60.mmp", - "S60v3/ScummVM_S60v3.mmp", - "S60v3/ScummVM_A0000658_S60v3.mmp", - "S80/ScummVM_S80.mmp", + "S60/ScummVM_S60.mmp", + "S60v3/ScummVM_S60v3.mmp", + "S60v3/ScummVM_A0000658_S60v3.mmp", + "S80/ScummVM_S80.mmp", "S90/ScummVM_S90.mmp", - "UIQ2/ScummVM_UIQ2.mmp", + "UIQ2/ScummVM_UIQ2.mmp", "UIQ3/ScummVM_UIQ3.mmp", - "UIQ3/ScummVM_A0000658_UIQ3.mmp" + "UIQ3/ScummVM_A0000658_UIQ3.mmp" ); @@ -74,22 +75,22 @@ my @sections_kyra = ("", "ENABLE_LOL"); # special sections for engine KYRA my @sections_agos = ("", "ENABLE_AGOS2"); # special sections for engine AGOS # files excluded from build, case insensitive, will be matched in filename string only -my @excludes_snd = ( +my @excludes_snd = ( "mt32.*", "fluidsynth.cpp", "i386.cpp", "part.*", - "synth.cpp", "tables.cpp", "freeverb.cpp", + "synth.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 = ( +my @excludes_graphics = ( "iff.cpp" -); +); # the USE_ARM_* defines not parsed correctly, exclude manually: my @excludes_scumm = ( @@ -133,6 +134,7 @@ ParseModule("_sci", "sci", \@section_empty); ParseModule("_draci", "draci", \@section_empty); ParseModule("_teenagent","teenagent", \@section_empty); ParseModule("_mohawk" ,"mohawk", \@section_empty); +ParseModule("_hugo" ,"hugo", \@section_empty); print " ======================================================================================= Done. Enjoy :P @@ -142,7 +144,7 @@ Done. Enjoy :P ################################################################################################################## ################################################################################################################## -# parses multiple sections per mmp/module +# parses multiple sections per mmp/module sub ParseModule { my ($mmp,$module,$sections,$exclusions) = @_; @@ -167,7 +169,7 @@ sub CheckForModuleMK if (-d $item) { #print "$item\n"; - + opendir DIR, $item; #my @Files = readdir DIR; my @Files = grep s/^([^\.].*)$/$1/, readdir DIR; @@ -186,7 +188,7 @@ sub CheckForModuleMK my $isenable; my $ObjectsSelected = 0; my $ObjectsTotal = 0; - + print "$item for section '$section' ... "; open FILE, $item; @@ -195,14 +197,14 @@ sub CheckForModuleMK my $count = @lines; print "$count lines"; - + A: foreach $line (@lines) { # 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 (.*)/) + + # found a section? reset + if ($line =~ /^ifdef (.*)/) { $sec = $1; $isenable = 1; @@ -225,7 +227,7 @@ sub CheckForModuleMK $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) { @@ -237,7 +239,7 @@ sub CheckForModuleMK next A; } } - + # do we need to do this file? According to MACROs in .MMPs my $found = 0; foreach $EnableDefine (@EnabledDefines) @@ -265,7 +267,7 @@ sub CheckForModuleMK $output .= "//SOURCE $line ($reason)\n"; next A; } - + $ObjectsSelected++; #print "\n $line"; $output .= "SOURCE $line\n"; @@ -288,7 +290,7 @@ sub UpdateProjectFile 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) { @@ -297,23 +299,23 @@ sub UpdateProjectFile open FILE, "$file"; my @lines = <FILE>; close FILE; - + my $onestr = join("",@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 = ""; } @@ -323,7 +325,7 @@ sub UpdateSlaveMacros { 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 ... "; @@ -337,7 +339,7 @@ sub UpdateSlaveMacros 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; @@ -350,7 +352,7 @@ sub UpdateSlaveMacros 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) { @@ -361,7 +363,7 @@ sub UpdateSlaveMacros 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"; @@ -388,7 +390,7 @@ sub UpdateSlaveMacros push @DisabledDefines, $macro; # used in CheckForModuleMK()!! } } - } + } print "$macro_counter macro lines.\n"; @@ -399,23 +401,23 @@ sub UpdateSlaveMacros $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("",@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; @@ -429,13 +431,13 @@ sub UpdateSlaveMacros open FILE, "$fileBLDINF"; @lines = <FILE>; close FILE; $onestr = join("",@lines); - + $onestr =~ s/$p.*$q/$p$updated$projects$q/s; - + open FILE, ">$fileBLDINF"; print FILE $onestr; close FILE; } } -} +} ################################################################################################################## @@ -443,10 +445,10 @@ sub ResetProjectFiles() { 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) { @@ -466,7 +468,7 @@ sub ResetProjectFiles() $onestr = join("",@lines); open FILE, ">$fileBLDINF"; print FILE $onestr; close FILE; } - } + } print "... done.\n"; } diff --git a/backends/platform/symbian/BuildPackageUpload_AllVersions.pl b/backends/platform/symbian/BuildPackageUpload_AllVersions.pl index 62fcef0275..3bdcede76a 100644 --- a/backends/platform/symbian/BuildPackageUpload_AllVersions.pl +++ b/backends/platform/symbian/BuildPackageUpload_AllVersions.pl @@ -17,7 +17,7 @@ $SDK_BuildDirs{'S60v3'} = "S60v3"; $SDK_BuildDirs{'S80'} = "S80"; $SDK_BuildDirs{'S90'} = "S90"; -# the target name inserted here: 'abld BUILD $SDK_TargetName UREL' +# the target name inserted here: 'abld BUILD $SDK_TargetName UREL' $SDK_TargetName{'UIQ2'} = "armi"; $SDK_TargetName{'UIQ3'} = "gcce"; $SDK_TargetName{'S60v1'}= "armi"; @@ -117,7 +117,7 @@ foreach $Library (sort keys(%PresentLibs)) # push @Packages, sprintf($file_tpl_sis, $version_tpl_sis, $SDK2, $Extra); # $PackagesQueued++; # } -# } +# } # } # else # { @@ -144,7 +144,7 @@ while( ($SDK, $Value) = each(%VariationSets) ) push @Packages, sprintf($file_tpl_sis, $version_tpl_sis, $SDK2, $Extra); $PackagesQueued++; } - } + } } else { @@ -170,7 +170,7 @@ Preparing to Build, Package & Upload $PackagesQueued SymbianOS ScummVM variation 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 @@ -178,7 +178,7 @@ Preparing to Build, Package & Upload $PackagesQueued SymbianOS ScummVM variation 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... @@ -194,7 +194,7 @@ unlink($build_log_out); 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("",@lines); @@ -219,7 +219,7 @@ while( ($SDK, $Value) = each(%SDK_LibraryDirs) ) $LibrariesQueued++; DoLibrary($SDK2, $Library, $Path); } - } + } } else { @@ -252,7 +252,7 @@ while( ($SDK, $VariationsHash) = each(%SDK_Variations) ) { DoVariation($SDK2, $Variation, $MacroBlock); } - } + } } else { @@ -277,7 +277,7 @@ while( ($SDK, $VariationsHash) = each(%VariationSets) ) { DoVariation($SDK2, $Variation, $MacroBlock); } - } + } } else { @@ -335,7 +335,7 @@ print " SumthinWicked wishes you a ridiculously good and optimally happy d sub MakeMppMacroDefs { my ($features) = @_; - + my %EnabledFeatures = (); foreach (split(/\W|\r|\n/, $features)) { @@ -398,14 +398,14 @@ sub MakeMppMacroDefs $MacroDefs .= "//MACRO ENABLE_$E\n"; } } - + #print "\n\n'$features' ==> $MacroDefs\n\n\n"; return $MacroDefs; } ################################################################################################################## -# Build, Package & Upload a single Variation +# Build, Package & Upload a single Variation sub DoLibrary { my ($SDK, $Library, $Path) = @_; @@ -435,23 +435,23 @@ my $header = " 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 MAKEFILE $TargetName > NUL 2> NUL"); - PrintErrorMessage("'abld MAKEFILE $TargetName' exited with value " . ($? >> 8)) if ($? >> 8); + PrintErrorMessage("'abld MAKEFILE $TargetName' 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); + 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); @@ -463,14 +463,14 @@ my $header = " $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 TARGET $TargetName UREL' exited with value " . ($? >> 8)) if ($? >> 8); - return 0 if (!$OK); # ABLD always returns ok :( grr + 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"); @@ -491,12 +491,12 @@ my $header = " ################################################################################################################## -# 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") { @@ -527,7 +527,7 @@ my $header = " if ($OK) { $OK = BuildVariation($SDK, $Variation, $Package, $MacroBlock); - + if ($OK && $FTP_Host ne '') { UploadVariation($SDK, $Variation, $Package); @@ -543,17 +543,17 @@ sub PrepVariation() 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(); @@ -562,11 +562,11 @@ sub PrepVariation() return 0 if (!$OK); my @lines = <FILE>; close FILE; - + my $onestr = join("",@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); @@ -579,7 +579,7 @@ sub PrepVariation() $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; } @@ -592,7 +592,7 @@ sub BuildVariation() 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); @@ -617,8 +617,8 @@ sub BuildVariation() 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); - + 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); @@ -630,7 +630,7 @@ sub BuildVariation() $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 + return 0 if (!$OK); # ABLD always returns ok :( grr PrintMessage("Done.") if (!$ReallyQuiet); # do we have an override suffix for the package name? @@ -654,7 +654,7 @@ sub BuildVariation() if (-e "$output_dir/$Package") { $PackagesCreated++; - + if ($TargetIntermediatePath ne '' && $TargetIntermediatePath =~ /\\EPOC32\\BUILD\\/i) # make really sure it's a valid path! { #PrintMessage("Cleaning $TargetIntermediatePath"); @@ -677,7 +677,7 @@ sub UploadVariation() use Net::FTP; my $newerr; - + PrintMessage("Connecting to FTP $FTP_Host") if (!$ReallyQuiet); $ftp = Net::FTP->new($FTP_Host,Timeout=>240) or $newerr=1; @@ -692,7 +692,7 @@ sub UploadVariation() { PrintMessage("Changing to dir $FTP_Dir"); $ftp->cwd($FTP_Dir) or $newerr=1; - + if ($newerr) { PrintErrorMessage("Changing to dir $FTP_Dir! Aborting!"); @@ -704,20 +704,20 @@ sub UploadVariation() # 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; } } @@ -758,7 +758,7 @@ sub CleanupPath() { $path =~ s/\"\Q$ECompXL_BinDir\E\";//g; } - + while( ($SDK, $RootDir) = each(%SDK_RootDirs) ) { if ($SDK_RootDirs{$SDK} ne '') @@ -766,8 +766,8 @@ sub CleanupPath() my $path_component = "\"".$SDK_RootDirs{$SDK}."\\epoc32\\"; $path =~ s/\Q$path_component\E.*?\";//g; } - } - + } + return $path; } @@ -798,5 +798,5 @@ sub PrintMessage() } ################################################################################################################## - + diff --git a/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl b/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl index a9e7aa562a..a0ec338ca0 100644 --- a/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl +++ b/backends/platform/symbian/BuildPackageUpload_LocalSettings.pl @@ -2,28 +2,25 @@ ################################################################################################################## @WorkingEngines = qw( - scumm agos sky queen gob groovie saga drascula + scumm agos sky queen gob groovie saga drascula kyra lure agi touche parallaction cine - cruise made m4 tinsel tucker sword1 sword2 draci sci teenagent mohawk + cruise made m4 tinsel tucker sword1 sword2 draci sci teenagent mohawk hugo ); - + @WorkingEngines_1st = qw( - scumm queen groovie saga drascula + scumm queen groovie saga drascula touche parallaction cine - cruise made m4 tucker +? cruise made m4 tucker ); - + @WorkingEngines_2nd = qw( - agos sky gob + agos sky gob kyra lure agi tinsel - sword1 sword2 draci teenagent + sword1 sword2 draci sci teenagent hugo ); @TestingEngines = qw( - - ); - @BrokenEngines = qw( ); @EnablableEngines = (@WorkingEngines, @TestingEngines); @@ -39,16 +36,16 @@ #disabled subengines lol saga2 personal nightmare %UseableFeatures = ( - 'zlib' => 'zlib.lib', - 'mad' => 'libmad.lib', + 'zlib' => 'zlib.lib', + 'mad' => 'libmad.lib', 'tremor' => 'libtremor.lib', 'flac' => 'libflac.lib' ); - + # these are normally enabled for each variation #$DefaultFeatures = qw(zlib,mad); - $DefaultFeatures = qw(zlib,mad,tremor,flac); - + $DefaultFeatures = qw(zlib,mad,tremor,flac); + ################################################################################################################## ## ## General system information, based on $COMPUTERNAME, so this way @@ -65,13 +62,13 @@ $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.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 @@ -96,10 +93,10 @@ $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{'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"; @@ -110,7 +107,7 @@ ## 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 :) #$VariationSets{'ALL'}{'scumm'} = "$DefaultFeatures scumm scumm_7_8 he"; @@ -249,7 +246,7 @@ $SDK_RootDirs{'S60v3'}= "G:\\S60v3"; #$SDK_RootDirs{'S80'}= "D:\\S80"; #$SDK_RootDirs{'S90'}= "D:\\S90"; - $ECompXL_BinDir= "D:\\ECompXL\\"; + #$ECompXL_BinDir= "D:\\ECompXL\\"; if (0) # so we can turn them on/off easily { # $SDK_LibraryDirs{'ALL'}{'zlib.lib'} = "C:\\S\\zlib-1.2.2\\epoc"; @@ -299,13 +296,14 @@ # scummvm-051101-SymbianS90_queen.sis # NOTE: empty $VariationSets{''} string instead of 'ALL' = easy way to disable pkg! - + if (1) # all regular combo's { # the first one includes all SDKs & release-ready engines - + $VariationSets{'ALL'}{'all'} = "$DefaultFeatures @WorkingEngines @EnablableSubEngines"; - + $VariationSets{'ALL'}{'1St'} = "$DefaultFeatures @WorkingEngines_1st @EnablableSubEngines"; + $VariationSets{'ALL'}{'2nd'} = "$DefaultFeatures @WorkingEngines_2nd @EnablableSubEngines"; # now one for each ready-for-release engine if (0) { @@ -326,16 +324,16 @@ } } # below here you could specify weird & experimental combinations, non-ready engines - + # Separate version for the broken sword engines (1&2) #$VariationSets{'ALL'}{'brokensword'} = "$DefaultFeatures sword1 sword2"; - + # Separate version for Scumm games (COMI) since memory usage might be high - #$VariationSets{'ALL'}{'scumm'} = "$DefaultFeatures scumm scumm_7_8 he"; - + #$VariationSets{'ALL'}{'scumm'} = "$DefaultFeatures scumm scumm_7_8 he"; + # for mega-fast-testing only plz! Warning: contains to engines! #$VariationSets{'ALL'}{'fast_empty'} = ""; - + } # end quick-n-fast if (1|0) diff --git a/backends/platform/symbian/README b/backends/platform/symbian/README index 630b539a5f..ba7099ba32 100644 --- a/backends/platform/symbian/README +++ b/backends/platform/symbian/README @@ -24,7 +24,7 @@ About ScummVM The original ports (uptil 0.7.1) were made by Andreas Karlsson and Lars Persson. The main transition to 0.8.0CVS and all relevant changes were done by Jurgen Braam. Jurgen and Lars have successfully transfered all needed changes into CVS/SVN, with additional helpful tools for Symbian OS - + Release History: Release version: 1.1.0 * Nothing significant in the Symbian port, except SDL improvements. @@ -33,7 +33,7 @@ Release History: Release version: 1.0.0 * Nothing significant in the Symbian port, except SDL improvements. * See main readme for general ScummVM improvements, minor update - + Release version: 0.13.1 * Nothing significant in the Symbian port, except SDL improvements. * See main readme for general ScummVM improvements, minor update diff --git a/backends/platform/symbian/S60/BLD.INF.in b/backends/platform/symbian/S60/BLD.INF.in index b6cf8bbda6..c3c3decf1a 100644 --- a/backends/platform/symbian/S60/BLD.INF.in +++ b/backends/platform/symbian/S60/BLD.INF.in @@ -5,7 +5,7 @@ PRJ_MMPFILES //START_AUTO_PROJECTS// // empty base file, will be updated by Perl build scripts - + //STOP_AUTO_PROJECTS// .\ScummVM_S60.mmp diff --git a/backends/platform/symbian/S60v3/BLD.INF.in b/backends/platform/symbian/S60v3/BLD.INF.in index 10f46ced61..78d130cb08 100644 --- a/backends/platform/symbian/S60v3/BLD.INF.in +++ b/backends/platform/symbian/S60v3/BLD.INF.in @@ -5,7 +5,7 @@ PRJ_MMPFILES //START_AUTO_PROJECTS// // empty base file, will be updated by Perl build scripts - + //STOP_AUTO_PROJECTS// gnumakefile icons.mk .\ScummVM_A0000658_S60v3.mmp diff --git a/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in b/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in index 1c35f7d4cc..12193a8781 100644 --- a/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in +++ b/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in @@ -97,6 +97,9 @@ SYSTEMINCLUDE \epoc32\include\ESDL SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include\libc SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\mw +SYSTEMINCLUDE \epoc32\include\platform +SYSTEMINCLUDE \epoc32\include\platform\mw SYSTEMINCLUDE ..\src // for portdefs.h // *** SOURCE files @@ -125,7 +128,7 @@ SOURCE gui\KeysDialog.cpp SOURCE gui\Actions.cpp SOURCE gui\Dialog.cpp -// Common error +// Common error source common\error.cpp // Special for graphics @@ -139,4 +142,4 @@ LIBRARY gdi.lib hal.lib bitgdi.lib LIBRARY mediaclientaudiostream.lib efsrv.lib ws32.lib library avkon.lib bafl.lib -CAPABILITY LocalServices ReadUserData
\ No newline at end of file +CAPABILITY LocalServices ReadUserData diff --git a/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in b/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in index eefdb23382..31c98b90f1 100644 --- a/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in +++ b/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in @@ -97,6 +97,9 @@ SYSTEMINCLUDE \epoc32\include\ESDL SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include\libc SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\mw +SYSTEMINCLUDE \epoc32\include\platform +SYSTEMINCLUDE \epoc32\include\platform\mw SYSTEMINCLUDE ..\src // for portdefs.h // *** SOURCE files @@ -125,7 +128,7 @@ SOURCE gui\KeysDialog.cpp SOURCE gui\Actions.cpp SOURCE gui\Dialog.cpp -// Common error +// Common error source common\error.cpp // Special for graphics @@ -139,4 +142,4 @@ LIBRARY gdi.lib hal.lib bitgdi.lib LIBRARY mediaclientaudiostream.lib efsrv.lib ws32.lib library avkon.lib bafl.lib -CAPABILITY LocalServices ReadUserData
\ No newline at end of file +CAPABILITY LocalServices ReadUserData diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg index a2c43d94e6..3f0fbbc5f1 100644 --- a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg +++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg @@ -36,7 +36,7 @@ :"ScummVM" ; UID is the app's UID -#{"ScummVM S60v3"},(0xA0000657),1,12,0 +#{"ScummVM S60v3"},(0xA0000657),1,13,0 ;Supports Series 60 v 3.0 [0x101F7961], 0, 0, 0, {"Series60ProductID"} @@ -68,6 +68,7 @@ "..\..\..\..\dists\engine-data\m4.dat"-"c:\data\scummvm\m4.dat" "..\..\..\..\dists\engine-data\teenagent.dat"-"c:\data\scummvm\teenagent.dat" "..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\data\scummvm\vkeybd_default.zip" +"..\..\..\..\gui\themes\translations.dat"-"c:\data\scummvm\translations.dat" ; Config/log files: 'empty' will automagically be removed on uninstall ""-"c:\data\scummvm\scummvm.ini",FILENULL diff --git a/backends/platform/symbian/S80/BLD.INF.in b/backends/platform/symbian/S80/BLD.INF.in index 75ef20be12..c25ee43a99 100644 --- a/backends/platform/symbian/S80/BLD.INF.in +++ b/backends/platform/symbian/S80/BLD.INF.in @@ -5,7 +5,7 @@ PRJ_MMPFILES //START_AUTO_PROJECTS// // empty base file, will be updated by Perl build scripts - + //STOP_AUTO_PROJECTS// .\ScummVM_S80.mmp diff --git a/backends/platform/symbian/S90/BLD.INF.in b/backends/platform/symbian/S90/BLD.INF.in index d6e1ece012..4e333e5dae 100644 --- a/backends/platform/symbian/S90/BLD.INF.in +++ b/backends/platform/symbian/S90/BLD.INF.in @@ -5,7 +5,7 @@ PRJ_MMPFILES //START_AUTO_PROJECTS// // empty base file, will be updated by Perl build scripts - + //STOP_AUTO_PROJECTS// .\ScummVM_S90.mmp diff --git a/backends/platform/symbian/UIQ2/BLD.INF.in b/backends/platform/symbian/UIQ2/BLD.INF.in index b607446a64..b8d8111e87 100644 --- a/backends/platform/symbian/UIQ2/BLD.INF.in +++ b/backends/platform/symbian/UIQ2/BLD.INF.in @@ -5,7 +5,7 @@ PRJ_MMPFILES //START_AUTO_PROJECTS// // empty base file, will be updated by Perl build scripts - + //STOP_AUTO_PROJECTS// .\ScummVM_UIQ2.mmp diff --git a/backends/platform/symbian/UIQ3/BLD.INF.in b/backends/platform/symbian/UIQ3/BLD.INF.in index e4b0bb306e..ff12dbdd75 100644 --- a/backends/platform/symbian/UIQ3/BLD.INF.in +++ b/backends/platform/symbian/UIQ3/BLD.INF.in @@ -1,11 +1,11 @@ PRJ_PLATFORMS -GCCE WINSCW +GCCE WINSCW PRJ_MMPFILES //START_AUTO_PROJECTS// // empty base file, will be updated by Perl build scripts - + //STOP_AUTO_PROJECTS// .\ScummVM_A0000658_UIQ3.mmp .\ScummVM_UIQ3.mmp diff --git a/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in b/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in index 7b28f83aba..2e50c12cc3 100644 --- a/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in +++ b/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in @@ -126,7 +126,7 @@ SOURCE gui\KeysDialog.cpp SOURCE gui\Actions.cpp SOURCE gui\Dialog.cpp -// Common error +// Common error source common\error.cpp // Special for graphics diff --git a/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in b/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in index 7a68e757cd..b00c848667 100644 --- a/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in +++ b/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in @@ -127,7 +127,7 @@ SOURCE gui\KeysDialog.cpp SOURCE gui\Actions.cpp SOURCE gui\Dialog.cpp -// Common error +// Common error source common\error.cpp // Special for graphics diff --git a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg index 7e620485d5..a55f4b6e37 100644 --- a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg +++ b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg @@ -35,7 +35,7 @@ :"ScummVM" ; UID is the app's UID -#{"ScummVM UIQ3"},(0xA0000657),1,12,0 +#{"ScummVM UIQ3"},(0xA0000657),1,13,0 ; ProductID for UIQ 3.0 ; Product/platform version UID, Major, Minor, Build, Product ID @@ -65,6 +65,8 @@ "..\..\..\..\dists\engine-data\m4.dat"-"c:\shared\scummvm\m4.dat" "..\..\..\..\dists\engine-data\teenagent.dat"-"c:\shared\scummvm\teenagent.dat" "..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\shared\scummvm\vkeybd_default.zip" +"..\..\..\..\gui\themes\translations.dat"-"c:\shared\scummvm\translations.dat" + ; Config/log files: 'empty' will automagically be removed on uninstall ""-"c:\shared\scummvm\scummvm.ini",FILENULL ""-"c:\shared\scummvm\scummvm.stdout.txt",FILENULL diff --git a/backends/platform/symbian/mmp/scummvm_base.mmp.in b/backends/platform/symbian/mmp/scummvm_base.mmp.in index 44feda064b..e799975385 100644 --- a/backends/platform/symbian/mmp/scummvm_base.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_base.mmp.in @@ -59,6 +59,9 @@ SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian alr SYSTEMINCLUDE \epoc32\include\libc SYSTEMINCLUDE \epoc32\include\tremor SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\mw +SYSTEMINCLUDE \epoc32\include\platform +SYSTEMINCLUDE \epoc32\include\platform\mw SYSTEMINCLUDE ..\src // for portdefs.h // *** SOURCE files @@ -98,6 +101,8 @@ SOURCEPATH ..\..\..\..\sound // empty base file, will be updated by Perl build scripts //STOP_AUTO_OBJECTS_SOUND_// +SOURCE softsynth\fmtowns_pc98\towns_pc98_fmsynth.cpp // Included since its excluded by filter + #if defined (WINS) SOURCE rate.cpp // WINS emulator version: add regular .cpp #else diff --git a/backends/platform/symbian/mmp/scummvm_hugo.mmp.in b/backends/platform/symbian/mmp/scummvm_hugo.mmp.in new file mode 100644 index 0000000000..4d44ebc944 --- /dev/null +++ b/backends/platform/symbian/mmp/scummvm_hugo.mmp.in @@ -0,0 +1,64 @@ +/* ScummVM - Graphic Adventure Engine + * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL + * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System + * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer + * Copyright (C) 2005-2010 The ScummVM project + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + * + */ + +// +// EPOC MMP makefile project for ScummVM +// + +// *** Definitions + +TARGET scummvm_hugo.lib +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 -Wno-unused -Wno-format -fsigned-char +ALWAYS_BUILD_AS_ARM + +//START_AUTO_MACROS_SLAVE// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_MACROS_SLAVE// + +// *** SOURCE files + +SOURCEPATH ..\..\..\..\engines\hugo + +//START_AUTO_OBJECTS_HUGO_// + + // empty base file, will be updated by Perl build scripts + +//STOP_AUTO_OBJECTS_HUGO_// + +// *** Include paths + +USERINCLUDE ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\sound ..\src +SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version +SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/res/scummvm.rss b/backends/platform/symbian/res/scummvm.rss index 0bb5dff058..f7daf9bfc1 100644 --- a/backends/platform/symbian/res/scummvm.rss +++ b/backends/platform/symbian/res/scummvm.rss @@ -35,7 +35,6 @@ NAME SCUM #include <eikon.rh> #include "..\src\Scummvm.hrh" // Include the standard Eikon resource ids -#include <eikon.rsg> RESOURCE RSS_SIGNATURE diff --git a/backends/platform/symbian/src/ScummApp.cpp b/backends/platform/symbian/src/ScummApp.cpp index a3ce692368..01af5e7fd9 100644 --- a/backends/platform/symbian/src/ScummApp.cpp +++ b/backends/platform/symbian/src/ScummApp.cpp @@ -27,7 +27,7 @@ #define _PAGESIZE_ 0x1000 -#if defined (__WINS__) && !defined (__SERIES60_30__) && !defined (UIQ3) +#if defined (__WINS__) && !defined (S60V3) && !defined (UIQ3) extern "C" int _chkstk(int /*a*/) { _asm { push ecx diff --git a/backends/platform/symbian/src/ScummApp.h b/backends/platform/symbian/src/ScummApp.h index 8cfdbdb92f..cca8e2a7c9 100644 --- a/backends/platform/symbian/src/ScummApp.h +++ b/backends/platform/symbian/src/ScummApp.h @@ -22,8 +22,8 @@ * $Id$ */ -#ifndef ScummAPPH -#define ScummAPPH +#ifndef SCUMMAPP_H +#define SCUMMAPP_H #include <eikapp.h> #include <e32base.h> diff --git a/backends/platform/symbian/src/ScummVMApp.h b/backends/platform/symbian/src/ScummVMApp.h index 6796024e1e..aee098f989 100644 --- a/backends/platform/symbian/src/ScummVMApp.h +++ b/backends/platform/symbian/src/ScummVMApp.h @@ -23,8 +23,8 @@ * */ -#ifndef ScummVMapph -#define ScummVMapph +#ifndef SCUMMVMAPP_H +#define SCUMMVMAPP_H #include <eikapp.h> #include <e32base.h> diff --git a/backends/platform/symbian/src/SymbianOS.cpp b/backends/platform/symbian/src/SymbianOS.cpp index 3a0dc318b3..d86adbf354 100644 --- a/backends/platform/symbian/src/SymbianOS.cpp +++ b/backends/platform/symbian/src/SymbianOS.cpp @@ -77,9 +77,6 @@ void OSystem_SDL_Symbian::init() { } void OSystem_SDL_Symbian::initBackend() { - // First set the extrapath (for installed dat files etc) - ConfMan.set("extrapath", Symbian::GetExecutablePath()); - // Calculate the default savepath Common::String savePath; savePath = Symbian::GetExecutablePath(); @@ -133,6 +130,13 @@ void OSystem_SDL_Symbian::initBackend() { actions->loadMapping(); } +void OSystem_SDL_Symbian::addSysArchivesToSearchSet(Common::SearchSet &s, int priority) { + Common::FSNode pluginsNode(Symbian::GetExecutablePath()); + if (pluginsNode.exists() && pluginsNode.isDirectory()) { + s.add("SYMBIAN_DATAFOLDER", new Common::FSDirectory(Symbian::GetExecutablePath()), priority); + } +} + void OSystem_SDL_Symbian::quitWithErrorMsg(const char * /*aMsg*/) { CEikonEnv::Static()->AlertWin(_L("quitWithErrorMsg()")) ; diff --git a/backends/platform/symbian/src/SymbianOS.h b/backends/platform/symbian/src/SymbianOS.h index e5f4ea44d0..0142054492 100644 --- a/backends/platform/symbian/src/SymbianOS.h +++ b/backends/platform/symbian/src/SymbianOS.h @@ -50,6 +50,8 @@ public: void quitWithErrorMsg(const char *msg); + void addSysArchivesToSearchSet(Common::SearchSet &s, int priority = 0); + // Vibration support #ifdef USE_VIBRA_SE_PXXX /** |