2021-02-22 23:11:11 +03:00
|
|
|
# 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 *
|
|
|
|
|
|
|
|
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 fs\symbian\symbianstream.cpp
|
|
|
|
SOURCE mixer\symbiansdl\symbiansdl-mixer.cpp
|
|
|
|
// end porter job\n
|
|
|
|
#include "build_parts.mmh"
|
2021-06-26 01:17:42 +03:00
|
|
|
\n#include \"../%s/macros.mmh\"\n
|
2021-02-22 23:11:11 +03:00
|
|
|
"""
|
|
|
|
|
|
|
|
|
2021-06-26 01:17:42 +03:00
|
|
|
def checkMacro(macro, active_conf = active_config):
|
|
|
|
t = macro.split()[-1]
|
|
|
|
if t in active_conf:
|
|
|
|
return True
|
|
|
|
else:
|
|
|
|
if t not in disabled_config:
|
|
|
|
print "New macro found: %s" %t
|
|
|
|
return False
|
|
|
|
|
|
|
|
def processModule_mk(folder, mmp_file, active_conf = active_config):
|
|
|
|
pth = os.path.join('..\..\..', folder)
|
2021-07-11 20:17:27 +03:00
|
|
|
try:
|
|
|
|
with open(os.path.join(pth, "module.mk")) as ff:
|
|
|
|
f = ff.readlines()
|
|
|
|
except IOError: #folder added in newer version
|
|
|
|
return
|
2021-06-26 01:17:42 +03:00
|
|
|
pth = os.path.join('..\..\..\..', folder)
|
2021-02-22 23:11:11 +03:00
|
|
|
SafeWriteFile(mmp_file, "\nSOURCEPATH %s\n" %pth, 'a')
|
|
|
|
|
|
|
|
src = []
|
|
|
|
addsrc = None
|
|
|
|
|
|
|
|
for i in f:
|
|
|
|
if "MODULE_OBJS :=" in i:
|
|
|
|
addsrc = True
|
|
|
|
elif "endif" in i:
|
|
|
|
addsrc = False
|
|
|
|
elif "SDL_BACKEND" in i:
|
|
|
|
addsrc = True
|
|
|
|
elif "ENABLE_" in i:
|
2021-06-26 01:17:42 +03:00
|
|
|
addsrc = checkMacro(i, active_conf)
|
2021-02-22 23:11:11 +03:00
|
|
|
elif "USE_" in i:
|
2021-06-26 01:17:42 +03:00
|
|
|
addsrc = checkMacro(i, active_conf)
|
2021-02-22 23:11:11 +03:00
|
|
|
elif "DISABLE_" in i:
|
2021-06-26 01:17:42 +03:00
|
|
|
addsrc = checkMacro(i, active_conf)
|
2021-02-22 23:11:11 +03:00
|
|
|
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')
|
|
|
|
|
2021-06-26 01:17:42 +03:00
|
|
|
|
2021-02-22 23:11:11 +03:00
|
|
|
def parse_base(platform = "S60v3"):
|
|
|
|
uids = get_UIDs(build)
|
2021-06-26 01:17:42 +03:00
|
|
|
mmp_file = os.path.join(mmps, mmp_name)
|
|
|
|
SafeWriteFile(mmp_file, mmp_template %(platform, platform) )
|
|
|
|
[processModule_mk(i, mmp_file) for i in src_dirs]
|
2021-02-22 23:11:11 +03:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
parse_base()
|