From d687cfb22841ba0e1ccf4c946f672dfaeae239cb Mon Sep 17 00:00:00 2001 From: Bernard Xiong Date: Sat, 10 Nov 2018 18:29:08 +0800 Subject: [PATCH] [Tools] Change building script for Py3 --- tools/building.py | 27 +++++++++++++++++++----- tools/cdk.py | 10 ++++----- tools/codeblocks.py | 8 ++++---- tools/gcc.py | 19 +++++++++-------- tools/genconf.py | 4 ++-- tools/iar.py | 23 +++++++++++---------- tools/keil.py | 34 +++++++++++++++--------------- tools/menuconfig.py | 10 ++++----- tools/package.py | 10 ++++----- tools/sconsui.py | 6 +++--- tools/ua.py | 4 ++-- tools/utils.py | 50 ++++++++++++++++++++++++++++++++++++++++++--- tools/vs.py | 12 +++++------ tools/vs2012.py | 8 ++++---- tools/wizard.py | 12 +++++------ 15 files changed, 150 insertions(+), 87 deletions(-) diff --git a/tools/building.py b/tools/building.py index 18ec7f188..fcc9c4002 100644 --- a/tools/building.py +++ b/tools/building.py @@ -27,6 +27,7 @@ import os import sys import string +import utils from SCons.Script import * from utils import _make_path_relative @@ -233,7 +234,7 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [ rtconfig.CROSS_TOOL, rtconfig.PLATFORM = tgt_dict[tgt_name] # replace the 'RTT_CC' to 'CROSS_TOOL' os.environ['RTT_CC'] = rtconfig.CROSS_TOOL - reload(rtconfig) + utils.ReloadModule(rtconfig) except KeyError: print ('Unknow target: '+ tgt_name+'. Avaible targets: ' +', '.join(tgt_dict.keys())) sys.exit(1) @@ -246,7 +247,7 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [ if 'RTT_EXEC_PATH' in os.environ: # del the 'RTT_EXEC_PATH' and using the 'EXEC_PATH' setting on rtconfig.py del os.environ['RTT_EXEC_PATH'] - reload(rtconfig) + utils.ReloadModule(rtconfig) # add compability with Keil MDK 4.6 which changes the directory of armcc.exe if rtconfig.PLATFORM == 'armcc': @@ -407,7 +408,7 @@ def PrepareModuleBuilding(env, root_directory, bsp_directory): # parse bsp rtconfig.h to get used component PreProcessor = PatchedPreProcessor() - f = file(bsp_directory + '/rtconfig.h', 'r') + f = open(bsp_directory + '/rtconfig.h', 'r') contents = f.read() f.close() PreProcessor.process_contents(contents) @@ -458,7 +459,7 @@ def LocalOptions(config_filename): # parse wiced_config.h to get used component PreProcessor = SCons.cpp.PreProcessor() - f = file(config_filename, 'r') + f = open(config_filename, 'r') contents = f.read() f.close() @@ -573,6 +574,10 @@ def DefineGroup(name, src, depend, **parameters): if 'CCFLAGS' in group: Env.AppendUnique(CCFLAGS = group['CCFLAGS']) if 'CPPPATH' in group: + paths = [] + for item in group['CPPPATH']: + paths.append(os.path.abspath(item)) + group['CPPPATH'] = paths Env.AppendUnique(CPPPATH = group['CPPPATH']) if 'CPPDEFINES' in group: Env.AppendUnique(CPPDEFINES = group['CPPDEFINES']) @@ -580,6 +585,18 @@ def DefineGroup(name, src, depend, **parameters): Env.AppendUnique(LINKFLAGS = group['LINKFLAGS']) if 'ASFLAGS' in group: Env.AppendUnique(ASFLAGS = group['ASFLAGS']) + if 'LOCAL_CPPPATH' in group: + paths = [] + for item in group['LOCAL_CPPPATH']: + paths.append(os.path.abspath(item)) + group['LOCAL_CPPPATH'] = paths + + import rtconfig + if rtconfig.PLATFORM == 'gcc': + if 'CCFLAGS' in group: + group['CCFLAGS'] = utils.GCCC99Patch(group['CCFLAGS']) + if 'LOCAL_CCFLAGS' in group: + group['LOCAL_CCFLAGS'] = utils.GCCC99Patch(group['LOCAL_CCFLAGS']) # check whether to clean up library if GetOption('cleanlib') and os.path.exists(os.path.join(group['path'], GroupLibFullName(name, Env))): @@ -863,7 +880,7 @@ def GetVersion(): # parse rtdef.h to get RT-Thread version prepcessor = PatchedPreProcessor() - f = file(rtdef, 'r') + f = open(rtdef, 'r') contents = f.read() f.close() prepcessor.process_contents(contents) diff --git a/tools/cdk.py b/tools/cdk.py index 8f995981a..09ac934ad 100644 --- a/tools/cdk.py +++ b/tools/cdk.py @@ -56,7 +56,7 @@ def _CDKProject(tree, target, script): project_path = os.path.dirname(os.path.abspath(target)) root = tree.getroot() - out = file(target, 'wb') + out = open(target, 'w') out.write('\n') CPPPATH = [] @@ -73,28 +73,28 @@ def _CDKProject(tree, target, script): group_tree = SDKAddGroup(ProjectFiles, root, group['name'], group['src'], project_path) # get each include path - if group.has_key('CPPPATH') and group['CPPPATH']: + if 'CPPPATH' in group and group['CPPPATH']: if CPPPATH: CPPPATH += group['CPPPATH'] else: CPPPATH += group['CPPPATH'] # get each group's definitions - if group.has_key('CPPDEFINES') and group['CPPDEFINES']: + if 'CPPDEFINES' in group and group['CPPDEFINES']: if CPPDEFINES: CPPDEFINES += group['CPPDEFINES'] else: CPPDEFINES += group['CPPDEFINES'] # get each group's cc flags - if group.has_key('CCFLAGS') and group['CCFLAGS']: + if 'CCFLAGS' in group and group['CCFLAGS']: if CCFLAGS: CCFLAGS += ' ' + group['CCFLAGS'] else: CCFLAGS += group['CCFLAGS'] # get each group's link flags - if group.has_key('LINKFLAGS') and group['LINKFLAGS']: + if 'LINKFLAGS' in group and group['LINKFLAGS']: if LINKFLAGS: LINKFLAGS += ' ' + group['LINKFLAGS'] else: diff --git a/tools/codeblocks.py b/tools/codeblocks.py index c45a5dca9..6334f9b7c 100644 --- a/tools/codeblocks.py +++ b/tools/codeblocks.py @@ -73,7 +73,7 @@ def CBProject(target, script, program): root = tree.getroot() - out = file(target, 'wb') + out = open(target, 'w') out.write('\n') ProjectFiles = [] @@ -90,7 +90,7 @@ def CBProject(target, script, program): # SECTION 2. # write head include path - if building.Env.has_key('CPPPATH'): + if 'CPPPATH' in building.Env: cpp_path = building.Env['CPPPATH'] paths = set() for path in cpp_path: @@ -114,7 +114,7 @@ def CBProject(target, script, program): # write link flags ''' # write lib dependence - if building.Env.has_key('LIBS'): + if 'LIBS' in building.Env: for elem in tree.iter(tag='Tool'): if elem.attrib['Name'] == 'VCLinkerTool': break @@ -123,7 +123,7 @@ def CBProject(target, script, program): elem.set('AdditionalDependencies', libs) # write lib include path - if building.Env.has_key('LIBPATH'): + if 'LIBPATH' in building.Env: lib_path = building.Env['LIBPATH'] paths = set() for path in lib_path: diff --git a/tools/gcc.py b/tools/gcc.py index 90e5a7dba..11751ebee 100644 --- a/tools/gcc.py +++ b/tools/gcc.py @@ -105,26 +105,27 @@ def GCCResult(rtconfig, str): posix_thread = 0 for line in stdout.split(b'\n'): - if re.search(b'fd_set', line): + line = line.decode() + if re.search('fd_set', line): have_fdset = 1 # check for sigal - if re.search(b'struct[ \t]+sigaction', line): + if re.search('struct[ \t]+sigaction', line): have_sigaction = 1 - if re.search(b'struct[ \t]+sigevent', line): + if re.search('struct[ \t]+sigevent', line): have_sigevent = 1 - if re.search(b'siginfo_t', line): + if re.search('siginfo_t', line): have_siginfo = 1 - if re.search(b'union[ \t]+sigval', line): + if re.search('union[ \t]+sigval', line): have_sigval = 1 - if re.search(b'char\* version', line): - version = re.search(br'\"([^"]+)\"', line).groups()[0] + if re.search('char\* version', line): + version = re.search(r'\"([^"]+)\"', line).groups()[0] - if re.findall(b'iso_c_visible = [\d]+', line): + if re.findall('iso_c_visible = [\d]+', line): stdc = re.findall('[\d]+', line)[0] - if re.findall(b'pthread_create', line): + if re.findall('pthread_create', line): posix_thread = 1 if have_fdset: diff --git a/tools/genconf.py b/tools/genconf.py index de8681e1f..d033c4007 100644 --- a/tools/genconf.py +++ b/tools/genconf.py @@ -6,7 +6,7 @@ def genconfig() : PreProcessor = SCons.cpp.PreProcessor() try: - f = file('rtconfig.h', 'r') + f = open('rtconfig.h', 'r') contents = f.read() f.close() except : @@ -16,7 +16,7 @@ def genconfig() : options = PreProcessor.cpp_namespace try: - f = file('.config', 'w') + f = open('.config', 'w') for (opt, value) in options.items(): if type(value) == type(1): f.write("CONFIG_%s=%d\n" % (opt, value)) diff --git a/tools/iar.py b/tools/iar.py index c77467a51..18a3cb832 100644 --- a/tools/iar.py +++ b/tools/iar.py @@ -25,6 +25,7 @@ import os import sys import string +import utils import xml.etree.ElementTree as etree from xml.etree.ElementTree import SubElement @@ -62,14 +63,14 @@ def IARAddGroup(parent, name, files, project_path): file_name = SubElement(file, 'name') if os.path.isabs(path): - file_name.text = path.decode(fs_encoding) + file_name.text = path # path.decode(fs_encoding) else: - file_name.text = ('$PROJ_DIR$\\' + path).decode(fs_encoding) + file_name.text = '$PROJ_DIR$\\' + path # ('$PROJ_DIR$\\' + path).decode(fs_encoding) def IARWorkspace(target): # make an workspace workspace = target.replace('.ewp', '.eww') - out = file(workspace, 'wb') + out = open(workspace, 'w') xml = iar_workspace % target out.write(xml) out.close() @@ -80,7 +81,7 @@ def IARProject(target, script): tree = etree.parse('template.ewp') root = tree.getroot() - out = file(target, 'wb') + out = open(target, 'w') CPPPATH = [] CPPDEFINES = [] @@ -105,18 +106,18 @@ def IARProject(target, script): IARAddGroup(root, group['name'], group['src'], project_path) # get each include path - if group.has_key('CPPPATH') and group['CPPPATH']: + if 'CPPPATH' in group and group['CPPPATH']: CPPPATH += group['CPPPATH'] # get each group's definitions - if group.has_key('CPPDEFINES') and group['CPPDEFINES']: + if 'CPPDEFINES' in group and group['CPPDEFINES']: CPPDEFINES += group['CPPDEFINES'] # get each group's link flags - if group.has_key('LINKFLAGS') and group['LINKFLAGS']: + if 'LINKFLAGS' in group and group['LINKFLAGS']: LINKFLAGS += group['LINKFLAGS'] - if group.has_key('LIBS') and group['LIBS']: + if 'LIBS' in group and group['LIBS']: for item in group['LIBS']: lib_path = searchLib(group) if lib_path != '': @@ -161,7 +162,7 @@ def IARProject(target, script): state.text = path xml_indent(root) - out.write(etree.tostring(root, encoding='utf-8')) + out.write(etree.tostring(root, encoding='utf-8').decode()) out.close() IARWorkspace(target) @@ -176,14 +177,14 @@ def IARVersion(): # backup environ old_environ = os.environ os.environ['RTT_CC'] = 'iar' - reload(rtconfig) + utils.ReloadModule(rtconfig) # get iar path path = rtconfig.EXEC_PATH # restore environ os.environ = old_environ - reload(rtconfig) + utils.ReloadModule(rtconfig) return path diff --git a/tools/keil.py b/tools/keil.py index 48aec80a4..59da25443 100644 --- a/tools/keil.py +++ b/tools/keil.py @@ -159,12 +159,12 @@ def MDK4AddGroup(ProjectFiles, parent, name, files, project_path): if ProjectFiles.count(obj_name): name = basename + '_' + name ProjectFiles.append(obj_name) - file_name.text = name.decode(fs_encoding) + file_name.text = name # name.decode(fs_encoding) file_type = SubElement(file, 'FileType') file_type.text = '%d' % _get_filetype(name) file_path = SubElement(file, 'FilePath') - file_path.text = path.decode(fs_encoding) + file_path.text = path # path.decode(fs_encoding) return group @@ -173,7 +173,7 @@ def MDK45Project(tree, target, script): project_path = os.path.dirname(os.path.abspath(target)) root = tree.getroot() - out = file(target, 'wb') + out = open(target, 'w') out.write('\n') CPPPATH = [] @@ -191,51 +191,51 @@ def MDK45Project(tree, target, script): group_tree = MDK4AddGroup(ProjectFiles, groups, group['name'], group['src'], project_path) # for local CPPPATH/CPPDEFINES - if (group_tree != None) and (group.has_key('LOCAL_CPPPATH') or group.has_key('LOCAL_CCFLAGS') or group.has_key('LOCAL_CPPDEFINES')): + if (group_tree != None) and ('LOCAL_CPPPATH' in group or 'LOCAL_CCFLAGS' in group or 'LOCAL_CPPDEFINES' in group): GroupOption = SubElement(group_tree, 'GroupOption') GroupArmAds = SubElement(GroupOption, 'GroupArmAds') Cads = SubElement(GroupArmAds, 'Cads') VariousControls = SubElement(Cads, 'VariousControls') MiscControls = SubElement(VariousControls, 'MiscControls') - if group.has_key('LOCAL_CCFLAGS'): + if 'LOCAL_CCFLAGS' in group: MiscControls.text = group['LOCAL_CCFLAGS'] else: MiscControls.text = ' ' Define = SubElement(VariousControls, 'Define') - if group.has_key('LOCAL_CPPDEFINES'): + if 'LOCAL_CPPDEFINES' in group: Define.text = ', '.join(set(group['LOCAL_CPPDEFINES'])) else: Define.text = ' ' Undefine = SubElement(VariousControls, 'Undefine') Undefine.text = ' ' IncludePath = SubElement(VariousControls, 'IncludePath') - if group.has_key('LOCAL_CPPPATH'): + if 'LOCAL_CPPPATH' in group: IncludePath.text = ';'.join([_make_path_relative(project_path, os.path.normpath(i)) for i in group['LOCAL_CPPPATH']]) else: IncludePath.text = ' ' # get each include path - if group.has_key('CPPPATH') and group['CPPPATH']: + if 'CPPPATH' in group and group['CPPPATH']: if CPPPATH: CPPPATH += group['CPPPATH'] else: CPPPATH += group['CPPPATH'] # get each group's definitions - if group.has_key('CPPDEFINES') and group['CPPDEFINES']: + if 'CPPDEFINES' in group and group['CPPDEFINES']: if CPPDEFINES: CPPDEFINES += group['CPPDEFINES'] else: CPPDEFINES = group['CPPDEFINES'] # get each group's link flags - if group.has_key('LINKFLAGS') and group['LINKFLAGS']: + if 'LINKFLAGS' in group and group['LINKFLAGS']: if LINKFLAGS: LINKFLAGS += ' ' + group['LINKFLAGS'] else: LINKFLAGS += group['LINKFLAGS'] - if group.has_key('LIBS') and group['LIBS']: + if 'LIBS' in group and group['LIBS']: for item in group['LIBS']: lib_path = '' for path_item in group['LIBPATH']: @@ -260,7 +260,7 @@ def MDK45Project(tree, target, script): Misc.text = LINKFLAGS xml_indent(root) - out.write(etree.tostring(root, encoding='utf-8')) + out.write(etree.tostring(root, encoding='utf-8').decode()) out.close() def MDK4Project(target, script): @@ -294,10 +294,10 @@ def MDK5Project(target, script): shutil.copy2('template.uvoptx', 'project.uvoptx') def MDKProject(target, script): - template = file('template.Uv2', "rb") + template = open('template.Uv2', "r") lines = template.readlines() - project = file(target, "wb") + project = open(target, "w") project_path = os.path.dirname(os.path.abspath(target)) line_index = 5 @@ -323,21 +323,21 @@ def MDKProject(target, script): # print group['name'] # get each include path - if group.has_key('CPPPATH') and group['CPPPATH']: + if 'CPPPATH' in group and group['CPPPATH']: if CPPPATH: CPPPATH += group['CPPPATH'] else: CPPPATH += group['CPPPATH'] # get each group's definitions - if group.has_key('CPPDEFINES') and group['CPPDEFINES']: + if 'CPPDEFINES' in group and group['CPPDEFINES']: if CPPDEFINES: CPPDEFINES += group['CPPDEFINES'] else: CPPDEFINES = group['CPPDEFINES'] # get each group's link flags - if group.has_key('LINKFLAGS') and group['LINKFLAGS']: + if 'LINKFLAGS' in group and group['LINKFLAGS']: if LINKFLAGS: LINKFLAGS += ' ' + group['LINKFLAGS'] else: diff --git a/tools/menuconfig.py b/tools/menuconfig.py index 23c479932..ea221553d 100644 --- a/tools/menuconfig.py +++ b/tools/menuconfig.py @@ -30,12 +30,12 @@ import shutil def mk_rtconfig(filename): try: - config = file(filename) + config = open(filename, 'r') except: print('open config:%s failed' % filename) return - rtconfig = file('rtconfig.h', 'wb') + rtconfig = open('rtconfig.h', 'w') rtconfig.write('#ifndef RT_CONFIG_H__\n') rtconfig.write('#define RT_CONFIG_H__\n\n') @@ -131,7 +131,7 @@ def touch_env(): os.mkdir(os.path.join(env_dir, 'local_pkgs')) os.mkdir(os.path.join(env_dir, 'packages')) os.mkdir(os.path.join(env_dir, 'tools')) - kconfig = file(os.path.join(env_dir, 'packages', 'Kconfig'), 'wb') + kconfig = open(os.path.join(env_dir, 'packages', 'Kconfig'), 'w') kconfig.close() if not os.path.exists(os.path.join(env_dir, 'packages', 'packages')): @@ -150,7 +150,7 @@ def touch_env(): "********************************************************************************\n") help_info() else: - kconfig = file(os.path.join(env_dir, 'packages', 'Kconfig'), 'wb') + kconfig = open(os.path.join(env_dir, 'packages', 'Kconfig'), 'w') kconfig.write('source "$PKGS_DIR/packages/Kconfig"') kconfig.close() except: @@ -189,7 +189,7 @@ def touch_env(): help_info() if sys.platform != 'win32': - env_sh = file(os.path.join(env_dir, 'env.sh'), 'w') + env_sh = open(os.path.join(env_dir, 'env.sh'), 'w') env_sh.write('export PATH=~/.env/tools/scripts:$PATH') else: if os.path.exists(os.path.join(env_dir, 'tools', 'scripts')): diff --git a/tools/package.py b/tools/package.py index 55b318b2a..d49303d04 100644 --- a/tools/package.py +++ b/tools/package.py @@ -28,7 +28,7 @@ from building import * def ExtendPackageVar(package, var): v = [] - if not package.has_key(var): + if var not in package: return v for item in package[var]: @@ -38,7 +38,7 @@ def ExtendPackageVar(package, var): def BuildPackage(package): import json - f = file(package) + f = open(package) package_json = f.read() # get package.json path @@ -47,20 +47,20 @@ def BuildPackage(package): package = json.loads(package_json) # check package name - if not package.has_key('name'): + if 'name' not in package: return [] # get depends depend = ExtendPackageVar(package, 'depends') src = [] - if package.has_key('source_files'): + if 'source_files' in package: for src_file in package['source_files']: src_file = os.path.join(cwd, src_file) src += Glob(src_file) CPPPATH = [] - if package.has_key('CPPPATH'): + if 'CPPPATH' in package: for path in package['CPPPATH']: if path.startswith('/') and os.path.isdir(path): CPPPATH = CPPPATH + [path] diff --git a/tools/sconsui.py b/tools/sconsui.py index 3542c3627..cd623f7fb 100644 --- a/tools/sconsui.py +++ b/tools/sconsui.py @@ -198,7 +198,7 @@ class SconsUI(): setting_path = os.path.join(home, '.rtt_scons') if os.path.exists(setting_path): - setting = file(os.path.join(home, '.rtt_scons')) + setting = open(os.path.join(home, '.rtt_scons')) for line in setting: line = line.replace('\n', '') line = line.replace('\r', '') @@ -215,7 +215,7 @@ class SconsUI(): setting.close() # set RT-Thread Root Directory according environ - if os.environ.has_key('RTT_ROOT'): + if 'RTT_ROOT' in os.environ: self.RTTRoot.set_path(os.environ['RTT_ROOT']) if self.RTTRoot.get_path() == '': @@ -268,7 +268,7 @@ class SconsUI(): else: home = os.environ['HOME'] - setting = file(os.path.join(home, '.rtt_scons'), 'wb+') + setting = open(os.path.join(home, '.rtt_scons'), 'w+') # current comiler # line = '%s=%s\n' % ('compiler', self.compilers.get())) line = '%s=%s\n' % ('compiler', 'iar') diff --git a/tools/ua.py b/tools/ua.py index 31d264103..0505f3596 100644 --- a/tools/ua.py +++ b/tools/ua.py @@ -52,11 +52,11 @@ def PrepareUA(project, RTT_ROOT, BSP_ROOT): for group in project: # get each include path - if group.has_key('CPPPATH') and group['CPPPATH']: + if 'CPPPATH' in group and group['CPPPATH']: CPPPATH += group['CPPPATH'] # get each group's definitions - if group.has_key('CPPDEFINES') and group['CPPDEFINES']: + if 'CPPDEFINES' in group and group['CPPDEFINES']: CPPDEFINES += group['CPPDEFINES'] if len(CPPPATH): diff --git a/tools/utils.py b/tools/utils.py index fb151189d..692cf36c6 100644 --- a/tools/utils.py +++ b/tools/utils.py @@ -183,14 +183,14 @@ def ProjectInfo(env): for group in project: # get each files - if group.has_key('src') and group['src']: + if 'src' in group and group['src']: FILES += group['src'] # get each include path - if group.has_key('CPPPATH') and group['CPPPATH']: + if 'CPPPATH' in group and group['CPPPATH']: CPPPATH += group['CPPPATH'] - if env.has_key('CPPDEFINES'): + if 'CPPDEFINES' in env: CPPDEFINES = env['CPPDEFINES'] CPPDEFINES = ListMap(CPPDEFINES) @@ -243,3 +243,47 @@ def ProjectInfo(env): proj['CPPDEFINES'] = CPPDEFINES return proj + +def VersionCmp(ver1, ver2): + la = ver1.split('.') + lb = ver2.split('.') + f = 0 + if len(la) > len(lb): + f = len(la) + else: + f = len(lb) + for i in range(f): + try: + if int(la[i]) > int(lb[i]): + return 1 + elif int(la[i]) == int(lb[i]): + continue + else: + return -1 + except IndexError as e: + if len(la) > len(lb): + return 1 + else: + return -1 + return 0 + +def GCCC99Patch(cflags): + import building + gcc_version = building.GetDepend('GCC_VERSION') + if gcc_version: + gcc_version = gcc_version.replace('"', '') + if VersionCmp(gcc_version, "4.8.0"): + # remove -std=c99 after GCC 4.8.x + cflags = cflags.replace('-std=c99', '') + + return cflags + +def ReloadModule(module): + import sys + if sys.version_info.major >= 3: + import importlib + importlib.reload(module) + else: + reload(module) + + return diff --git a/tools/vs.py b/tools/vs.py index 43d25ec87..f51862b9d 100644 --- a/tools/vs.py +++ b/tools/vs.py @@ -78,7 +78,7 @@ def VSProject(target, script, program): tree = etree.parse('template_vs2005.vcproj') root = tree.getroot() - out = file(target, 'wb') + out = open(target, 'w') out.write('\r\n') ProjectFiles = [] @@ -91,7 +91,7 @@ def VSProject(target, script, program): for group in script: libs = [] - if group.has_key('LIBS') and group['LIBS']: + if 'LIBS' in group and group['LIBS']: for item in group['LIBS']: lib_path = '' for path_item in group['LIBPATH']: @@ -111,7 +111,7 @@ def VSProject(target, script, program): VS_AddHeadFilesGroup(program, elem, project_path) # write head include path - if building.Env.has_key('CPPPATH'): + if 'CPPPATH' in building.Env: cpp_path = building.Env['CPPPATH'] paths = set() for path in cpp_path: @@ -130,7 +130,7 @@ def VSProject(target, script, program): elem.set('AdditionalIncludeDirectories', cpp_path) # write cppdefinitons flags - if building.Env.has_key('CPPDEFINES'): + if 'CPPDEFINES' in building.Env: CPPDEFINES = building.Env['CPPDEFINES'] definitions = [] if type(CPPDEFINES[0]) == type(()): @@ -143,7 +143,7 @@ def VSProject(target, script, program): # write link flags # write lib dependence - if building.Env.has_key('LIBS'): + if 'LIBS' in building.Env: for elem in tree.iter(tag='Tool'): if elem.attrib['Name'] == 'VCLinkerTool': break @@ -152,7 +152,7 @@ def VSProject(target, script, program): elem.set('AdditionalDependencies', libs) # write lib include path - if building.Env.has_key('LIBPATH'): + if 'LIBPATH' in building.Env: lib_path = building.Env['LIBPATH'] paths = set() for path in lib_path: diff --git a/tools/vs2012.py b/tools/vs2012.py index e8305e503..0c6b9d83d 100644 --- a/tools/vs2012.py +++ b/tools/vs2012.py @@ -168,7 +168,7 @@ def VS2012Project(target, script, program): VS_add_HeadFiles(program, elem, project_path) # write head include path - if building.Env.has_key('CPPPATH'): + if 'CPPPATH' in building.Env: cpp_path = building.Env['CPPPATH'] paths = set() for path in cpp_path: @@ -185,7 +185,7 @@ def VS2012Project(target, script, program): break # write cppdefinitons flags - if building.Env.has_key('CPPDEFINES'): + if 'CPPDEFINES' in building.Env: for elem in tree.iter(tag='PreprocessorDefinitions'): definitions = ';'.join(building.Env['CPPDEFINES']) + ';%(PreprocessorDefinitions)' elem.text = definitions @@ -193,7 +193,7 @@ def VS2012Project(target, script, program): # write link flags # write lib dependence (Link) - if building.Env.has_key('LIBS'): + if 'LIBS' in building.Env: for elem in tree.iter(tag='AdditionalDependencies'): libs_with_extention = [i+'.lib' for i in building.Env['LIBS']] libs = ';'.join(libs_with_extention) + ';%(AdditionalDependencies)' @@ -201,7 +201,7 @@ def VS2012Project(target, script, program): break # write lib include path - if building.Env.has_key('LIBPATH'): + if 'LIBPATH' in building.Env: lib_path = building.Env['LIBPATH'] paths = set() for path in lib_path: diff --git a/tools/wizard.py b/tools/wizard.py index d32f116a9..c5773527c 100644 --- a/tools/wizard.py +++ b/tools/wizard.py @@ -66,19 +66,19 @@ Return('objs') ''' def usage(): - print 'wizard --component name' - print 'wizard --bridge' + print('wizard --component name') + print('wizard --bridge') def gen_component(name): - print 'generate SConscript for ' + name + print('generate SConscript for ' + name) text = SConscript_com.replace('COMPONENT_NAME', name) - f = file('SConscript', 'w') + f = open('SConscript', 'w') f.write(text) f.close() def gen_bridge(): - print 'generate SConscript for bridge' - f = file('SConscript', 'w') + print('generate SConscript for bridge') + f = open('SConscript', 'w') f.write(SConscript_bridge) f.close() -- GitLab