[Scummvm-git-logs] scummvm master -> f7f599581bf67780b6c0669010da80816f991f9e

digitall 547637+digitall at users.noreply.github.com
Mon Mar 1 22:07:27 UTC 2021


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
f7f599581b SYMBIAN: automatically build sources from main tree dirs: audio, base, common, etc except engines.


Commit: f7f599581bf67780b6c0669010da80816f991f9e
    https://github.com/scummvm/scummvm/commit/f7f599581bf67780b6c0669010da80816f991f9e
Author: Fiodar Stryzhniou (fedor_qd at mail.ru)
Date: 2021-03-01T22:07:24Z

Commit Message:
SYMBIAN: automatically build sources from main tree dirs: audio, base, common, etc except engines.

Enhance build logging - they differs by datetime now.
Build test exe which can coexist with release.
Correct parsing module.mk for DETECT_OBJS.
Appends to existed engines.mmh and macros.mmh, doesn't replace it.

Changed paths:
  A backends/platform/symbian/symbian_builder/parse_base.py
  A backends/platform/symbian/symbian_builder/parse_codecs.py
    backends/platform/symbian/symbian_builder/__init__.py
    backends/platform/symbian/symbian_builder/common_names.py
    backends/platform/symbian/symbian_builder/mmp_gen.py
    backends/platform/symbian/symbian_builder/piper.py
    backends/platform/symbian/symbian_builder/prj_generator.py


diff --git a/backends/platform/symbian/symbian_builder/__init__.py b/backends/platform/symbian/symbian_builder/__init__.py
index 2a0fbfa96a..a964054e7d 100644
--- a/backends/platform/symbian/symbian_builder/__init__.py
+++ b/backends/platform/symbian/symbian_builder/__init__.py
@@ -26,23 +26,31 @@ from build_apps import build_apps
 from create_installers import create_installers
 from datetime import datetime
 from piper import build_mmp
+from parse_codecs import parse_codecs
+from parse_base import parse_base
 from common_names import *
 
+def minimal_whitelist(engine):
+   data = "#ifdef SCUMMVM_PT_1\nscummvm_base.mmp\nscummvm_codecs.mmp\n%s\n#endif // SCUMMVM_PT_%s\n" %engine
+   SafeWriteFile(os.path.join(mmps, whitelist), data)
 
-def run(build, pkgs):
+def run(build, pkgs, only_begotten_engine = None):
    log = "Build started at: %s\n" %datetime.now()
    SafeWriteFile(build_log, log)
    SafeWriteFile(build_err, '')
    create_mmps(build, pkgs)
    create_engine_mmps(build)
-   
+   parse_codecs()
+   parse_base()
+
    log = "Build engines started at: %s\n" %datetime.now()
    SafeWriteFile(build_log, log, 'a')
-   build_mmp()
+   if only_begotten_engine:
+      minimal_whitelist(build_log)
+   build_mmp(only_begotten_engine)
    log = "Build engines ended at: %s\n" %datetime.now()
    SafeWriteFile(build_log, log, 'a')
-   
+
    build_apps(pkgs)
    create_installers(pkgs)
 
-   
\ No newline at end of file
diff --git a/backends/platform/symbian/symbian_builder/common_names.py b/backends/platform/symbian/symbian_builder/common_names.py
index d858664a5f..5428f78679 100644
--- a/backends/platform/symbian/symbian_builder/common_names.py
+++ b/backends/platform/symbian/symbian_builder/common_names.py
@@ -19,11 +19,17 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
+from datetime import datetime
+
 mmps = "mmp"
 pipe = "pipe"
 
-build_log = "build.log"
-build_err = "build.err"
+timestamp = datetime.now().strftime('_%H_%M_%d_%m_%Y')
+
+build_log = "ScummVM_build%s.log" %timestamp
+build_err = "ScummVM_build%s.err" %timestamp
+
+whitelist = 'whitelist.txt'
 
 build = 'full'
 # build = 'release'
@@ -37,6 +43,14 @@ def get_UIDs(build):
       return uids_tests
    return uids
 
+active_config = ("DISABLE_NUKED_OPL", "USE_A52", "USE_MPEG2",  "USE_BINK", "USE_THEORADEC", "USE_TINYGL",
+"ENABLE_VKEYBD")
+#activate USE_SCALERS USE_ARM_SCALER_ASM USE_TTS USE_SPEECH_DISPATCHER USE_CLOUD USE_LIBCURL
+# USE_SDL_NET USE_DISCORD USE_UPDATES USE_LUA
+disabled_config = ("USE_ALSA", "USE_ARM_SOUND_ASM", "ENABLE_OPL2LPT", "USE_SCALERS", "USE_ARM_SCALER_ASM", 
+"USE_HQ_SCALERS", "USE_NASM", "USE_ELF_LOADER", "USE_SDL2", "USE_FLUIDSYNTH", "USE_TTS", "USE_SPEECH_DISPATCHER",
+"USE_CLOUD", "USE_LIBCURL", "USE_SDL_NET", "USE_OPENGL", "USE_DISCORD", "USE_LINUXCD", "ENABLE_EVENTRECORDER",
+"USE_UPDATES", "USE_LUA")
 
 if __name__ == "__main__":
    print "This script holds together data used multiple modules."
diff --git a/backends/platform/symbian/symbian_builder/mmp_gen.py b/backends/platform/symbian/symbian_builder/mmp_gen.py
index 4ee8ea86e5..13643cf898 100644
--- a/backends/platform/symbian/symbian_builder/mmp_gen.py
+++ b/backends/platform/symbian/symbian_builder/mmp_gen.py
@@ -21,7 +21,7 @@
 
 
 from __future__ import with_statement
-import os, shutil
+import os, shutil, stat
 from collections import defaultdict as defdict
 from common_names import *
 
@@ -87,19 +87,27 @@ def processModule_mk(path, buildparams):
          for x in buildparams:
             if "MACRO   %s"%i.strip()[6:] in x:
                addsrc = True
-               src += ["// Subengine %s"%x[18:]]
+               src += ["// Subengine %s" %x[18:]]
+      elif "KYRARPG_COMMON_OBJ" in i: #special case for kyra engine
+         addsrc = True
+      elif "DETECT_OBJS" in i:
+         cpp = i.rstrip()
+         cpp = cpp.rsplit('$')[-1]
+         cpp = cpp[9:-2]
+         src += ["SOURCE   %s.cpp" %cpp]
       elif addsrc is True:
+         # if i.endswith(".o \\"): # this dont work, why?
          if ".o \\" in i[-5:]:
-            src += ["SOURCE   " + i[1:-5] + ".cpp"]
+            src += ["SOURCE   %s.cpp" %i[1:-5]]
          elif ".o" in i[-3:]:
-            src += ["SOURCE   " + i[1:-3] + ".cpp"]
+            src += ["SOURCE   %s.cpp" %i[1:-3]]
          elif len(i) == 1:
             addsrc = False
    return src
 
 
 # Add per engine fixes
-libc_engines = ("bladerunner", "glk", "illusions", "titanic", "ultima")
+libc_engines = ("bladerunner", "glk", "illusions", "stark", "titanic", "ultima")
 def CheckEngine(lst, game):
    if game == "sword25":
       return None
@@ -181,21 +189,19 @@ def SafeWriteFile(path, mode, data):
          f.write(data)
 
 
-def FilterGlk(src):
-   src = [x for x in src if "glulx" not in x]
-   print "Exclude glulx engine from detection_tables.h and detection.cpp!"
-   return src
-
 def FilterUltima(src):
    src = [x for x in src if "nuvie" not in x] #Ultima VI
    src = [x for x in src if "ultima4" not in x]
    print "Exclude nuvie and ultima4 engines from detection_tables.h and detection.cpp!"
    return src
 
+def FilterGrim(src):
+   src += ["SOURCE   movie/codecs/blocky8ARM.s"]
+   return src
 
-def DeleteUsuportedSrcs(src, engine):
-   if "glk" in engine:
-      return FilterGlk(src)
+def FilterSrcs(src, engine):
+   if "grim" in engine:
+      return FilterGrim(src)
    if "ultima" in engine:
       return FilterUltima(src)
    # if "" in engine:
@@ -204,6 +210,11 @@ def DeleteUsuportedSrcs(src, engine):
 
 
 guard_macro = "#ifdef SCUMMVM_PT_%s\n#endif // SCUMMVM_PT_%s\n"
+ro_warning = """
+// This is autogenerated file.\n\n
+/* Warning! Carbide can silently change file.
+Set read-onle attribute after manual update!!! */
+"""
 def MakeMMP(engine):
    global firstRun, currentEngine
    print "Start processing engine: %s" %engine
@@ -218,16 +229,13 @@ def MakeMMP(engine):
    staticlib = tt[1]
 
    src = processModule_mk(pth, macrolist)
-   src = DeleteUsuportedSrcs(src, engine)
+   src = FilterSrcs(src, engine)
 
    mmp = """TARGET scummvm_%s.lib
 TARGETTYPE lib\n
 #include "../S60v3/build_config.mmh"
 
-#define SCUMMVM_PT_1
-#define SCUMMVM_PT_2
-#define SCUMMVM_PT_3
-#define SCUMMVM_PT_4
+#include "build_parts.mmh"
 #include "macros.mmh"\n
 USERINCLUDE    ..\..\..\..\engines\%s\n
 // *** SOURCE files
@@ -245,34 +253,50 @@ SOURCEPATH   ..\..\..\..\engines\%s\n
 #if PLUGIN_ENABLED_STATIC(%s)
 LINK_PLUGIN(%s)
 #endif
+""" %(engine.upper(), engine.upper())
+
+   detection_table = """
+#if defined(ENABLE_%s) || defined(DETECTION_FULL)
+LINK_PLUGIN(%s_DETECTION)
+#endif
 """ %(engine.upper(), engine.upper())
 
    bldinf = os.path.join(local, "bld.inf")
    mmpfile = os.path.join(local, "%s.mmp" %engine)
-   macros = os.path.join(local, "macros.mmh")
    ptable = os.path.join(pt, "plugins_table.h")
+   dtable = os.path.join(pt, "detection_table.h")
+   macros = os.path.join(local, "macros.mmh")
    engines = os.path.join(local, "engines.mmh")
-
+   #save old macros.mmh
+   macros_new = os.path.join(local, "macros.mmh.new")
+   engines_new = os.path.join(local, "engines.mmh.new")
+   if os.path.exists(macros_new):
+      macros = macros_new
+      firstRun = False
+   if os.path.exists(engines_new):
+      engines = engines_new
 #create files and add bld.inf header
    if firstRun is True:
       SafeWriteFile(bldinf, 'w', "PRJ_MMPFILES\n")
       if(build == 'release'):
          SafeWriteFile(macros, 'w', "MACRO RELEASE_BUILD\n")
       guard_macros = [guard_macro %(i + 1, i + 1) for i in range(len(uids))]
-      SafeWriteFile(macros, 'w', "// This is autogenerated file.\n")
+      SafeWriteFile(macros, 'w', ro_warning)
       SafeWriteFile(macros, 'a', guard_macros)
       SafeWriteFile(ptable, 'w', "// This is autogenerated file.\n")
-      SafeWriteFile(engines, 'w', "// This is autogenerated file.\n")
+      SafeWriteFile(dtable, 'w', "// This is autogenerated file.\n")
+      SafeWriteFile(engines, 'w', ro_warning)
       SafeWriteFile(engines, 'a', guard_macros)
       firstRun = False
 
    SafeWriteFile(mmpfile, 'w', mmp)
    SafeWriteFile(mmpfile, 'a', src)
 
-   SafeWriteFile(bldinf, 'a', "    %s.mmp\n" %engine)
+   SafeWriteFile(bldinf, 'a', "%s.mmp\n" %engine)
    SafeWriteFile(macros, 'a', macrolist)
    SafeWriteFile(engines, 'a', staticlib)
    SafeWriteFile(ptable, 'a', plugins_table)
+   SafeWriteFile(dtable, 'a', detection_table)
    currentEngine = None
    print "End processing\n"
 
@@ -284,17 +308,76 @@ local = mmps
 # pt = 'e:\Scu\engines'
 # local = pt
 
+def data_dump(macros):
+   with open(macros) as ff:
+      f = ff.readlines()
+   n = [x.strip() for x in f if x.startswith(('STATICLIBRARY', 'MACRO'))]
+   n.sort()
+   return n
+
+def check_cashed():
+   macros_new = os.path.join(local, "macros.mmh.new")
+   if os.path.exists(macros_new):
+      macros = os.path.join(local, "macros.mmh")
+      engines = os.path.join(local, "engines.mmh")
+      engines_new = os.path.join(local, "engines.mmh.new")
+      
+      macros_dump = data_dump(macros)
+      macros_dump_new = data_dump(macros_new)
+      macros_diff = set(macros_dump).symmetric_difference(set(macros_dump_new))
+      if not macros_diff:
+         return
+      SafeWriteFile(build_log, 'a', "new macro found: ")
+      SafeWriteFile(build_log, 'a', list(macros_diff))
+      SafeWriteFile(macros, 'a', list(macros_diff))
+      
+      engines_dump = data_dump(engines)
+      engines_dump_new = data_dump(engines_new)
+      engines_diff = set(engines_dump).symmetric_difference(set(engines_dump_new))
+      SafeWriteFile(engines, 'a', list(engines_diff))
+      
+      os.chmod(macros, stat.S_IREAD)
+      os.chmod(engines, stat.S_IREAD)
+
+def count_sc_parts():
+   t = []
+   for i in range(len(uids)):
+      idx = i+1
+      d = "#define SCUMMVM_PT_%d" %idx
+      t.append(d)
+   pth = os.path.join(local, "build_parts.mmh")
+   print t
+   SafeWriteFile(pth, 'w', ro_warning)
+   SafeWriteFile(pth, 'a', t)
+
 def create_engine_mmps(arg = 'full'):
    global build
    build = arg
+   if not os.path.exists(local):
+      os.mkdir(local)
    if(os.path.isfile(local)):
       raise TypeError("Expected dir but file found %s" %pt)
    if(local != pt):
       if(os.path.isdir(local)):
-         shutil.rmtree(local)
-   os.mkdir(local)
+         try:
+            shutil.rmtree(local)
+            os.mkdir(local)
+         except:
+            macros = os.path.join(local, "macros.mmh")
+            engines = os.path.join(local, "engines.mmh")
+            
+            macros_new = os.path.join(local, "macros.mmh.new")
+            engines_new = os.path.join(local, "engines.mmh.new")
+            SafeWriteFile(macros_new, 'w', ro_warning)
+            SafeWriteFile(engines_new, 'w', ro_warning)
+            os.chmod(macros, stat.S_IWRITE)
+            try:
+               os.chmod(engines, stat.S_IWRITE)
+            except: pass
    t = os.listdir(pt)
    [MakeMMP(m) for m in t if os.path.isdir(os.path.join(pt, m))]
+   count_sc_parts()
+   check_cashed()
 
 if __name__ == "__main__":
    create_engine_mmps()
diff --git a/backends/platform/symbian/symbian_builder/parse_base.py b/backends/platform/symbian/symbian_builder/parse_base.py
new file mode 100644
index 0000000000..04a0a62bb0
--- /dev/null
+++ b/backends/platform/symbian/symbian_builder/parse_base.py
@@ -0,0 +1,117 @@
+# ScummVM - Graphic Adventure Engine
+# Copyright (C) 2021 Stryzhniou Fiodar
+
+# 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.
+
+from __future__ import with_statement
+import os
+from common_names import *
+from prj_generator import SafeWriteFile
+
+excluded = ("", "")
+
+def exclude_special_cpp(tmp):
+   d = "%s.cpp" %tmp[:-2]
+   if d in excluded:
+      print "excluded: %s" %d
+      return ""
+   return tmp
+
+src_dirs = ("backends", "common", "engines", "gui", "math")
+mmp_name = "scummvm_base.mmp"
+
+mmp_template = """
+TARGET          scummvm_base.lib
+TARGETTYPE      lib
+#include "../%s/build_config.mmh"
+
+// compiler must use png.h from libpng.lib instead ScummVM's
+OPTION			GCCE -I'/Symbian/S60_5th_Edition_SDK_v1.0/epoc32/include/png'
+
+// added and managed by porter
+SOURCEPATH  ..\..\..\..\\backends
+SOURCE     audiocd\sdl\sdl-audiocd.cpp
+SOURCE     events\symbiansdl\symbiansdl-events.cpp
+SOURCE     fs\symbian\symbianstream.cpp
+SOURCE     mixer\symbiansdl\symbiansdl-mixer.cpp
+// end porter job\n
+#include "build_parts.mmh"
+\n#include \"../mmp/macros.mmh\"\n
+"""
+
+
+def processModule_mk(dir, mmp_file):
+   pth = os.path.join('..\..\..', dir)
+   with open(os.path.join(pth, "module.mk")) as ff:
+      f = ff.readlines()
+   pth = os.path.join('..\..\..\..', dir)
+   SafeWriteFile(mmp_file, "\nSOURCEPATH  %s\n" %pth, 'a')
+
+   src = []
+   addsrc = None
+
+   for i in f:
+      if "MODULE_OBJS :=" in i:
+         addsrc = True
+         if addsrc is None:
+            addsrc = True
+      elif "endif" in i:
+         addsrc = False
+      elif "SDL_BACKEND" in i:
+         addsrc = True
+      elif "ENABLE_" in i:
+         t = i.split()[-1]
+         if t in active_config:
+            addsrc = True
+         else:
+            addsrc = False
+            if t not in disabled_config:
+               print "New macro found: %s" %t
+      elif "USE_" in i:
+         t = i.split()[-1]
+         if t in active_config:
+            addsrc = True
+         else:
+            addsrc = False
+            if t not in disabled_config:
+               print "New macro found: %s" %t
+      elif "DISABLE_" in i:
+         t = i.split()[-1]
+         if t in active_config:
+            addsrc = True
+            addsrc = False
+            if t not in disabled_config:
+               print "New macro found: %s" %t
+      elif addsrc is True:
+         tmp = i.strip()
+         tmp = tmp.rstrip("\\")
+         tmp = tmp.strip()
+         tmp = exclude_special_cpp(tmp)
+         if tmp.endswith(".o"):
+            src += ["SOURCE   %s.cpp" %tmp[:-2]]
+   SafeWriteFile(mmp_file, src, 'a')
+
+def parse_base(platform = "S60v3"):
+   uids = get_UIDs(build)
+   codecs_mmp = os.path.join(mmps, mmp_name)
+   SafeWriteFile(codecs_mmp, mmp_template %platform)
+   [processModule_mk(i, codecs_mmp) for i in src_dirs]
+
+if __name__ == "__main__":
+   parse_base()
diff --git a/backends/platform/symbian/symbian_builder/parse_codecs.py b/backends/platform/symbian/symbian_builder/parse_codecs.py
new file mode 100644
index 0000000000..c78fea7c99
--- /dev/null
+++ b/backends/platform/symbian/symbian_builder/parse_codecs.py
@@ -0,0 +1,128 @@
+# ScummVM - Graphic Adventure Engine
+# Copyright (C) 2021 Stryzhniou Fiodar
+
+# 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.
+
+from __future__ import with_statement
+import os
+from common_names import *
+from prj_generator import SafeWriteFile
+
+excluded = ("renderer.cpp", "sjis.cpp", "coktel_decoder.cpp")
+
+def exclude_special_cpp(tmp):
+   d = "%s.cpp" %tmp[:-2]
+   if d in excluded:
+      print "excluded: %s" %d
+      return ""
+   return tmp
+
+src_dirs = ("audio", "graphics", "image", "video")
+
+mmp_name = "scummvm_codecs.mmp"
+
+mmp_template = """
+TARGET          scummvm_codecs.lib
+TARGETTYPE      lib
+#include "../%s/build_config.mmh"
+
+// compiler must use png.h from libpng.lib instead ScummVM's
+OPTION			GCCE -I'/Symbian/S60_5th_Edition_SDK_v1.0/epoc32/include/png'
+
+//SOURCEPATH ..\..\..\..\audio
+//#if defined (WINS)
+////SOURCE rate.cpp			// WINS emulator version: add regular .cpp
+//#else
+//ARM version is broken. Do not use.
+//SOURCE rate_arm.cpp		// ARM version: add ASM .cpp wrapper
+//SOURCE rate_arm_asm.s	// ARM version: add ASM routines
+//#endif
+"""
+
+def processModule_mk(dir, mmp_file):
+   pth = os.path.join('..\..\..', dir)
+   with open(os.path.join(pth, "module.mk")) as ff:
+      f = ff.readlines()
+   pth = os.path.join('..\..\..\..', dir)
+   SafeWriteFile(mmp_file, "\nSOURCEPATH  %s\n" %pth, 'a')
+
+   src = []
+   addsrc = None
+
+   for i in f:
+      if "MODULE_OBJS :=" in i:
+         print i
+         addsrc = True
+         if addsrc is None:
+            addsrc = True
+      elif len(i) == 1:
+         addsrc = False
+      elif "endif" in i:
+         addsrc = False
+      elif "ENABLE_" in i:
+         t = i.split()[-1]
+         if t in active_config:
+            addsrc = True
+         elif t in disabled_config:
+            addsrc = False
+         elif t not in disabled_config:
+            SafeWriteFile(build_log, "New macro found: %s" %t)
+      elif "USE_" in i:
+         t = i.split()[-1]
+         print "%s %s" %(dir, t)
+         if "USE_ARM_SOUND_ASM" in i: # Special case, broken implementation.
+            addsrc = False
+            src += ["SOURCE   rate.cpp"]
+         elif t in active_config:
+            print "active_config %s %s" %(dir, t)
+            addsrc = True
+         else:
+            print "disabled_config %s %s" %(dir, t)
+            addsrc = False
+            if t not in disabled_config:
+               SafeWriteFile(build_log, "New macro found: %s" %t)
+      elif "DISABLE_" in i:
+         t = i.split()[-1]
+         if t in active_config:
+            addsrc = True
+         elif t not in disabled_config:
+            SafeWriteFile(build_log, "New macro found: %s" %t)
+         else:
+            addsrc = False
+      elif addsrc is True:
+         tmp = i.strip()
+         tmp = tmp.rstrip("\\")
+         tmp = tmp.strip()
+         tmp = exclude_special_cpp(tmp)
+         if tmp.endswith(".o"):
+            src += ["SOURCE   %s.cpp" %tmp[:-2]]
+   SafeWriteFile(mmp_file, src, 'a')
+
+def parse_codecs(platform = "S60v3"):
+   uids = get_UIDs(build)
+   codecs_mmp = os.path.join(mmps, mmp_name)
+   SafeWriteFile(codecs_mmp, mmp_template %platform)
+   for i in range(len(uids)):
+      idx = i+1
+      SafeWriteFile(codecs_mmp, "#define SCUMMVM_PT_%d\n" %idx, 'a')
+   SafeWriteFile(codecs_mmp, "\n#include \"../mmp/macros.mmh\"\n", 'a')
+   [processModule_mk(i, codecs_mmp) for i in src_dirs]
+
+if __name__ == "__main__":
+   parse_codecs()
diff --git a/backends/platform/symbian/symbian_builder/piper.py b/backends/platform/symbian/symbian_builder/piper.py
index 672106dd72..24cd369df7 100644
--- a/backends/platform/symbian/symbian_builder/piper.py
+++ b/backends/platform/symbian/symbian_builder/piper.py
@@ -1,5 +1,5 @@
 # ScummVM - Graphic Adventure Engine
-# Copyright (C) 2020 Stryzhniou Fiodar
+# Copyright (C) 2020 - 2021 Stryzhniou Fiodar
 
 # ScummVM is the legal property of its developers, whose names
 # are too numerous to list here. Please refer to the COPYRIGHT
@@ -61,10 +61,15 @@ def tread_func(q):
       SafeWriteFile(build_err, err + err1, mode = 'a')
 
 
-def build_mmp():
+def build_mmp(try_fix = False):
    q = Queue.Queue()
    fileNames = os.listdir(mmps)
    fileNames = [x for x in fileNames if ".mmp" in x]
+   if try_fix:
+      with open(os.path.join(mmps, whitelist)) as ff:
+         fileNames = ff.readlines()
+   else:
+      SafeWriteFile(os.path.join(mmps, whitelist), fileNames)
 
    for fileName in fileNames:
       q.put(fileName)
diff --git a/backends/platform/symbian/symbian_builder/prj_generator.py b/backends/platform/symbian/symbian_builder/prj_generator.py
index 203dfc94d7..1a63e9d472 100644
--- a/backends/platform/symbian/symbian_builder/prj_generator.py
+++ b/backends/platform/symbian/symbian_builder/prj_generator.py
@@ -1,5 +1,5 @@
 # ScummVM - Graphic Adventure Engine
-# Copyright (C) 2020 Stryzhniou Fiodar
+# Copyright (C) 2020 - 2021 Stryzhniou Fiodar
 
 # ScummVM is the legal property of its developers, whose names
 # are too numerous to list here. Please refer to the COPYRIGHT
@@ -176,10 +176,6 @@ EPOCHEAPSIZE	5000000 64000000
 #include "ScummVM_common.mmh" // must be above engines.mmh
 
 #include "../mmp/engines.mmh"
-
-// implicitly compiled if links with engines kyra, sci, scumm and saga
-SOURCEPATH ..\\..\\..\\..\\graphics
-SOURCE sjis.cpp
 """
 # ---------------------------
 bld_inf_template = """
@@ -210,6 +206,9 @@ def create_mmps(build, path = ''):
    for i in range(len(uids)):
       UID3 = uids[i]
       idx = i + 1
+      idx2 = i + 1
+      if build == 'full':
+         idx = "%s_test" %idx
       rss_name = "ScummVM%s.rss" %idx
       data = rss_template %(idx, idx)
       SafeWriteFile(os.path.join(path, rss_name), data)
@@ -219,8 +218,8 @@ def create_mmps(build, path = ''):
       data = reg_rss_template %(UID3, idx, idx)
       rss_reg_name = "ScummVM%s_reg.rss" %idx
       SafeWriteFile(os.path.join(path, rss_reg_name), data)
-      data = mmp_template %(idx, UID3, idx, idx, idx, idx)
-      mmp_name = "ScummVM%s.mmp" %idx
+      data = mmp_template %(idx, UID3, idx, idx, idx, idx2)
+      mmp_name = "ScummVM%s.mmp" %idx2
       SafeWriteFile(os.path.join(path, mmp_name), data)
       SafeWriteFile(bld_inf, mmp_name + "\n", mode = 'a')
 




More information about the Scummvm-git-logs mailing list