[Tools] Change building script for Py3
This commit is contained in:
parent
b69baa9658
commit
d687cfb228
|
@ -27,6 +27,7 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import string
|
import string
|
||||||
|
import utils
|
||||||
|
|
||||||
from SCons.Script import *
|
from SCons.Script import *
|
||||||
from utils import _make_path_relative
|
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]
|
rtconfig.CROSS_TOOL, rtconfig.PLATFORM = tgt_dict[tgt_name]
|
||||||
# replace the 'RTT_CC' to 'CROSS_TOOL'
|
# replace the 'RTT_CC' to 'CROSS_TOOL'
|
||||||
os.environ['RTT_CC'] = rtconfig.CROSS_TOOL
|
os.environ['RTT_CC'] = rtconfig.CROSS_TOOL
|
||||||
reload(rtconfig)
|
utils.ReloadModule(rtconfig)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
print ('Unknow target: '+ tgt_name+'. Avaible targets: ' +', '.join(tgt_dict.keys()))
|
print ('Unknow target: '+ tgt_name+'. Avaible targets: ' +', '.join(tgt_dict.keys()))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
@ -246,7 +247,7 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [
|
||||||
if 'RTT_EXEC_PATH' in os.environ:
|
if 'RTT_EXEC_PATH' in os.environ:
|
||||||
# del the 'RTT_EXEC_PATH' and using the 'EXEC_PATH' setting on rtconfig.py
|
# del the 'RTT_EXEC_PATH' and using the 'EXEC_PATH' setting on rtconfig.py
|
||||||
del os.environ['RTT_EXEC_PATH']
|
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
|
# add compability with Keil MDK 4.6 which changes the directory of armcc.exe
|
||||||
if rtconfig.PLATFORM == 'armcc':
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
@ -407,7 +408,7 @@ def PrepareModuleBuilding(env, root_directory, bsp_directory):
|
||||||
|
|
||||||
# parse bsp rtconfig.h to get used component
|
# parse bsp rtconfig.h to get used component
|
||||||
PreProcessor = PatchedPreProcessor()
|
PreProcessor = PatchedPreProcessor()
|
||||||
f = file(bsp_directory + '/rtconfig.h', 'r')
|
f = open(bsp_directory + '/rtconfig.h', 'r')
|
||||||
contents = f.read()
|
contents = f.read()
|
||||||
f.close()
|
f.close()
|
||||||
PreProcessor.process_contents(contents)
|
PreProcessor.process_contents(contents)
|
||||||
|
@ -458,7 +459,7 @@ def LocalOptions(config_filename):
|
||||||
# parse wiced_config.h to get used component
|
# parse wiced_config.h to get used component
|
||||||
PreProcessor = SCons.cpp.PreProcessor()
|
PreProcessor = SCons.cpp.PreProcessor()
|
||||||
|
|
||||||
f = file(config_filename, 'r')
|
f = open(config_filename, 'r')
|
||||||
contents = f.read()
|
contents = f.read()
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
|
@ -573,6 +574,10 @@ def DefineGroup(name, src, depend, **parameters):
|
||||||
if 'CCFLAGS' in group:
|
if 'CCFLAGS' in group:
|
||||||
Env.AppendUnique(CCFLAGS = group['CCFLAGS'])
|
Env.AppendUnique(CCFLAGS = group['CCFLAGS'])
|
||||||
if 'CPPPATH' in group:
|
if 'CPPPATH' in group:
|
||||||
|
paths = []
|
||||||
|
for item in group['CPPPATH']:
|
||||||
|
paths.append(os.path.abspath(item))
|
||||||
|
group['CPPPATH'] = paths
|
||||||
Env.AppendUnique(CPPPATH = group['CPPPATH'])
|
Env.AppendUnique(CPPPATH = group['CPPPATH'])
|
||||||
if 'CPPDEFINES' in group:
|
if 'CPPDEFINES' in group:
|
||||||
Env.AppendUnique(CPPDEFINES = group['CPPDEFINES'])
|
Env.AppendUnique(CPPDEFINES = group['CPPDEFINES'])
|
||||||
|
@ -580,6 +585,18 @@ def DefineGroup(name, src, depend, **parameters):
|
||||||
Env.AppendUnique(LINKFLAGS = group['LINKFLAGS'])
|
Env.AppendUnique(LINKFLAGS = group['LINKFLAGS'])
|
||||||
if 'ASFLAGS' in group:
|
if 'ASFLAGS' in group:
|
||||||
Env.AppendUnique(ASFLAGS = group['ASFLAGS'])
|
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
|
# check whether to clean up library
|
||||||
if GetOption('cleanlib') and os.path.exists(os.path.join(group['path'], GroupLibFullName(name, Env))):
|
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
|
# parse rtdef.h to get RT-Thread version
|
||||||
prepcessor = PatchedPreProcessor()
|
prepcessor = PatchedPreProcessor()
|
||||||
f = file(rtdef, 'r')
|
f = open(rtdef, 'r')
|
||||||
contents = f.read()
|
contents = f.read()
|
||||||
f.close()
|
f.close()
|
||||||
prepcessor.process_contents(contents)
|
prepcessor.process_contents(contents)
|
||||||
|
|
10
tools/cdk.py
10
tools/cdk.py
|
@ -56,7 +56,7 @@ def _CDKProject(tree, target, script):
|
||||||
project_path = os.path.dirname(os.path.abspath(target))
|
project_path = os.path.dirname(os.path.abspath(target))
|
||||||
|
|
||||||
root = tree.getroot()
|
root = tree.getroot()
|
||||||
out = file(target, 'wb')
|
out = open(target, 'w')
|
||||||
out.write('<?xml version="1.0" encoding="UTF-8"?>\n')
|
out.write('<?xml version="1.0" encoding="UTF-8"?>\n')
|
||||||
|
|
||||||
CPPPATH = []
|
CPPPATH = []
|
||||||
|
@ -73,28 +73,28 @@ def _CDKProject(tree, target, script):
|
||||||
group_tree = SDKAddGroup(ProjectFiles, root, group['name'], group['src'], project_path)
|
group_tree = SDKAddGroup(ProjectFiles, root, group['name'], group['src'], project_path)
|
||||||
|
|
||||||
# get each include path
|
# get each include path
|
||||||
if group.has_key('CPPPATH') and group['CPPPATH']:
|
if 'CPPPATH' in group and group['CPPPATH']:
|
||||||
if CPPPATH:
|
if CPPPATH:
|
||||||
CPPPATH += group['CPPPATH']
|
CPPPATH += group['CPPPATH']
|
||||||
else:
|
else:
|
||||||
CPPPATH += group['CPPPATH']
|
CPPPATH += group['CPPPATH']
|
||||||
|
|
||||||
# get each group's definitions
|
# get each group's definitions
|
||||||
if group.has_key('CPPDEFINES') and group['CPPDEFINES']:
|
if 'CPPDEFINES' in group and group['CPPDEFINES']:
|
||||||
if CPPDEFINES:
|
if CPPDEFINES:
|
||||||
CPPDEFINES += group['CPPDEFINES']
|
CPPDEFINES += group['CPPDEFINES']
|
||||||
else:
|
else:
|
||||||
CPPDEFINES += group['CPPDEFINES']
|
CPPDEFINES += group['CPPDEFINES']
|
||||||
|
|
||||||
# get each group's cc flags
|
# get each group's cc flags
|
||||||
if group.has_key('CCFLAGS') and group['CCFLAGS']:
|
if 'CCFLAGS' in group and group['CCFLAGS']:
|
||||||
if CCFLAGS:
|
if CCFLAGS:
|
||||||
CCFLAGS += ' ' + group['CCFLAGS']
|
CCFLAGS += ' ' + group['CCFLAGS']
|
||||||
else:
|
else:
|
||||||
CCFLAGS += group['CCFLAGS']
|
CCFLAGS += group['CCFLAGS']
|
||||||
|
|
||||||
# get each group's link flags
|
# get each group's link flags
|
||||||
if group.has_key('LINKFLAGS') and group['LINKFLAGS']:
|
if 'LINKFLAGS' in group and group['LINKFLAGS']:
|
||||||
if LINKFLAGS:
|
if LINKFLAGS:
|
||||||
LINKFLAGS += ' ' + group['LINKFLAGS']
|
LINKFLAGS += ' ' + group['LINKFLAGS']
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -73,7 +73,7 @@ def CBProject(target, script, program):
|
||||||
|
|
||||||
root = tree.getroot()
|
root = tree.getroot()
|
||||||
|
|
||||||
out = file(target, 'wb')
|
out = open(target, 'w')
|
||||||
out.write('<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>\n')
|
out.write('<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>\n')
|
||||||
|
|
||||||
ProjectFiles = []
|
ProjectFiles = []
|
||||||
|
@ -90,7 +90,7 @@ def CBProject(target, script, program):
|
||||||
|
|
||||||
# SECTION 2.
|
# SECTION 2.
|
||||||
# write head include path
|
# write head include path
|
||||||
if building.Env.has_key('CPPPATH'):
|
if 'CPPPATH' in building.Env:
|
||||||
cpp_path = building.Env['CPPPATH']
|
cpp_path = building.Env['CPPPATH']
|
||||||
paths = set()
|
paths = set()
|
||||||
for path in cpp_path:
|
for path in cpp_path:
|
||||||
|
@ -114,7 +114,7 @@ def CBProject(target, script, program):
|
||||||
# write link flags
|
# write link flags
|
||||||
'''
|
'''
|
||||||
# write lib dependence
|
# write lib dependence
|
||||||
if building.Env.has_key('LIBS'):
|
if 'LIBS' in building.Env:
|
||||||
for elem in tree.iter(tag='Tool'):
|
for elem in tree.iter(tag='Tool'):
|
||||||
if elem.attrib['Name'] == 'VCLinkerTool':
|
if elem.attrib['Name'] == 'VCLinkerTool':
|
||||||
break
|
break
|
||||||
|
@ -123,7 +123,7 @@ def CBProject(target, script, program):
|
||||||
elem.set('AdditionalDependencies', libs)
|
elem.set('AdditionalDependencies', libs)
|
||||||
|
|
||||||
# write lib include path
|
# write lib include path
|
||||||
if building.Env.has_key('LIBPATH'):
|
if 'LIBPATH' in building.Env:
|
||||||
lib_path = building.Env['LIBPATH']
|
lib_path = building.Env['LIBPATH']
|
||||||
paths = set()
|
paths = set()
|
||||||
for path in lib_path:
|
for path in lib_path:
|
||||||
|
|
19
tools/gcc.py
19
tools/gcc.py
|
@ -105,26 +105,27 @@ def GCCResult(rtconfig, str):
|
||||||
posix_thread = 0
|
posix_thread = 0
|
||||||
|
|
||||||
for line in stdout.split(b'\n'):
|
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
|
have_fdset = 1
|
||||||
|
|
||||||
# check for sigal
|
# check for sigal
|
||||||
if re.search(b'struct[ \t]+sigaction', line):
|
if re.search('struct[ \t]+sigaction', line):
|
||||||
have_sigaction = 1
|
have_sigaction = 1
|
||||||
if re.search(b'struct[ \t]+sigevent', line):
|
if re.search('struct[ \t]+sigevent', line):
|
||||||
have_sigevent = 1
|
have_sigevent = 1
|
||||||
if re.search(b'siginfo_t', line):
|
if re.search('siginfo_t', line):
|
||||||
have_siginfo = 1
|
have_siginfo = 1
|
||||||
if re.search(b'union[ \t]+sigval', line):
|
if re.search('union[ \t]+sigval', line):
|
||||||
have_sigval = 1
|
have_sigval = 1
|
||||||
|
|
||||||
if re.search(b'char\* version', line):
|
if re.search('char\* version', line):
|
||||||
version = re.search(br'\"([^"]+)\"', line).groups()[0]
|
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]
|
stdc = re.findall('[\d]+', line)[0]
|
||||||
|
|
||||||
if re.findall(b'pthread_create', line):
|
if re.findall('pthread_create', line):
|
||||||
posix_thread = 1
|
posix_thread = 1
|
||||||
|
|
||||||
if have_fdset:
|
if have_fdset:
|
||||||
|
|
|
@ -6,7 +6,7 @@ def genconfig() :
|
||||||
PreProcessor = SCons.cpp.PreProcessor()
|
PreProcessor = SCons.cpp.PreProcessor()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
f = file('rtconfig.h', 'r')
|
f = open('rtconfig.h', 'r')
|
||||||
contents = f.read()
|
contents = f.read()
|
||||||
f.close()
|
f.close()
|
||||||
except :
|
except :
|
||||||
|
@ -16,7 +16,7 @@ def genconfig() :
|
||||||
options = PreProcessor.cpp_namespace
|
options = PreProcessor.cpp_namespace
|
||||||
|
|
||||||
try:
|
try:
|
||||||
f = file('.config', 'w')
|
f = open('.config', 'w')
|
||||||
for (opt, value) in options.items():
|
for (opt, value) in options.items():
|
||||||
if type(value) == type(1):
|
if type(value) == type(1):
|
||||||
f.write("CONFIG_%s=%d\n" % (opt, value))
|
f.write("CONFIG_%s=%d\n" % (opt, value))
|
||||||
|
|
23
tools/iar.py
23
tools/iar.py
|
@ -25,6 +25,7 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import string
|
import string
|
||||||
|
import utils
|
||||||
|
|
||||||
import xml.etree.ElementTree as etree
|
import xml.etree.ElementTree as etree
|
||||||
from xml.etree.ElementTree import SubElement
|
from xml.etree.ElementTree import SubElement
|
||||||
|
@ -62,14 +63,14 @@ def IARAddGroup(parent, name, files, project_path):
|
||||||
file_name = SubElement(file, 'name')
|
file_name = SubElement(file, 'name')
|
||||||
|
|
||||||
if os.path.isabs(path):
|
if os.path.isabs(path):
|
||||||
file_name.text = path.decode(fs_encoding)
|
file_name.text = path # path.decode(fs_encoding)
|
||||||
else:
|
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):
|
def IARWorkspace(target):
|
||||||
# make an workspace
|
# make an workspace
|
||||||
workspace = target.replace('.ewp', '.eww')
|
workspace = target.replace('.ewp', '.eww')
|
||||||
out = file(workspace, 'wb')
|
out = open(workspace, 'w')
|
||||||
xml = iar_workspace % target
|
xml = iar_workspace % target
|
||||||
out.write(xml)
|
out.write(xml)
|
||||||
out.close()
|
out.close()
|
||||||
|
@ -80,7 +81,7 @@ def IARProject(target, script):
|
||||||
tree = etree.parse('template.ewp')
|
tree = etree.parse('template.ewp')
|
||||||
root = tree.getroot()
|
root = tree.getroot()
|
||||||
|
|
||||||
out = file(target, 'wb')
|
out = open(target, 'w')
|
||||||
|
|
||||||
CPPPATH = []
|
CPPPATH = []
|
||||||
CPPDEFINES = []
|
CPPDEFINES = []
|
||||||
|
@ -105,18 +106,18 @@ def IARProject(target, script):
|
||||||
IARAddGroup(root, group['name'], group['src'], project_path)
|
IARAddGroup(root, group['name'], group['src'], project_path)
|
||||||
|
|
||||||
# get each include path
|
# get each include path
|
||||||
if group.has_key('CPPPATH') and group['CPPPATH']:
|
if 'CPPPATH' in group and group['CPPPATH']:
|
||||||
CPPPATH += group['CPPPATH']
|
CPPPATH += group['CPPPATH']
|
||||||
|
|
||||||
# get each group's definitions
|
# get each group's definitions
|
||||||
if group.has_key('CPPDEFINES') and group['CPPDEFINES']:
|
if 'CPPDEFINES' in group and group['CPPDEFINES']:
|
||||||
CPPDEFINES += group['CPPDEFINES']
|
CPPDEFINES += group['CPPDEFINES']
|
||||||
|
|
||||||
# get each group's link flags
|
# get each group's link flags
|
||||||
if group.has_key('LINKFLAGS') and group['LINKFLAGS']:
|
if 'LINKFLAGS' in group and group['LINKFLAGS']:
|
||||||
LINKFLAGS += 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']:
|
for item in group['LIBS']:
|
||||||
lib_path = searchLib(group)
|
lib_path = searchLib(group)
|
||||||
if lib_path != '':
|
if lib_path != '':
|
||||||
|
@ -161,7 +162,7 @@ def IARProject(target, script):
|
||||||
state.text = path
|
state.text = path
|
||||||
|
|
||||||
xml_indent(root)
|
xml_indent(root)
|
||||||
out.write(etree.tostring(root, encoding='utf-8'))
|
out.write(etree.tostring(root, encoding='utf-8').decode())
|
||||||
out.close()
|
out.close()
|
||||||
|
|
||||||
IARWorkspace(target)
|
IARWorkspace(target)
|
||||||
|
@ -176,14 +177,14 @@ def IARVersion():
|
||||||
# backup environ
|
# backup environ
|
||||||
old_environ = os.environ
|
old_environ = os.environ
|
||||||
os.environ['RTT_CC'] = 'iar'
|
os.environ['RTT_CC'] = 'iar'
|
||||||
reload(rtconfig)
|
utils.ReloadModule(rtconfig)
|
||||||
|
|
||||||
# get iar path
|
# get iar path
|
||||||
path = rtconfig.EXEC_PATH
|
path = rtconfig.EXEC_PATH
|
||||||
|
|
||||||
# restore environ
|
# restore environ
|
||||||
os.environ = old_environ
|
os.environ = old_environ
|
||||||
reload(rtconfig)
|
utils.ReloadModule(rtconfig)
|
||||||
|
|
||||||
return path
|
return path
|
||||||
|
|
||||||
|
|
|
@ -159,12 +159,12 @@ def MDK4AddGroup(ProjectFiles, parent, name, files, project_path):
|
||||||
if ProjectFiles.count(obj_name):
|
if ProjectFiles.count(obj_name):
|
||||||
name = basename + '_' + name
|
name = basename + '_' + name
|
||||||
ProjectFiles.append(obj_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 = SubElement(file, 'FileType')
|
||||||
file_type.text = '%d' % _get_filetype(name)
|
file_type.text = '%d' % _get_filetype(name)
|
||||||
file_path = SubElement(file, 'FilePath')
|
file_path = SubElement(file, 'FilePath')
|
||||||
|
|
||||||
file_path.text = path.decode(fs_encoding)
|
file_path.text = path # path.decode(fs_encoding)
|
||||||
|
|
||||||
return group
|
return group
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ def MDK45Project(tree, target, script):
|
||||||
project_path = os.path.dirname(os.path.abspath(target))
|
project_path = os.path.dirname(os.path.abspath(target))
|
||||||
|
|
||||||
root = tree.getroot()
|
root = tree.getroot()
|
||||||
out = file(target, 'wb')
|
out = open(target, 'w')
|
||||||
out.write('<?xml version="1.0" encoding="UTF-8" standalone="no" ?>\n')
|
out.write('<?xml version="1.0" encoding="UTF-8" standalone="no" ?>\n')
|
||||||
|
|
||||||
CPPPATH = []
|
CPPPATH = []
|
||||||
|
@ -191,51 +191,51 @@ def MDK45Project(tree, target, script):
|
||||||
group_tree = MDK4AddGroup(ProjectFiles, groups, group['name'], group['src'], project_path)
|
group_tree = MDK4AddGroup(ProjectFiles, groups, group['name'], group['src'], project_path)
|
||||||
|
|
||||||
# for local CPPPATH/CPPDEFINES
|
# 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')
|
GroupOption = SubElement(group_tree, 'GroupOption')
|
||||||
GroupArmAds = SubElement(GroupOption, 'GroupArmAds')
|
GroupArmAds = SubElement(GroupOption, 'GroupArmAds')
|
||||||
Cads = SubElement(GroupArmAds, 'Cads')
|
Cads = SubElement(GroupArmAds, 'Cads')
|
||||||
VariousControls = SubElement(Cads, 'VariousControls')
|
VariousControls = SubElement(Cads, 'VariousControls')
|
||||||
MiscControls = SubElement(VariousControls, 'MiscControls')
|
MiscControls = SubElement(VariousControls, 'MiscControls')
|
||||||
if group.has_key('LOCAL_CCFLAGS'):
|
if 'LOCAL_CCFLAGS' in group:
|
||||||
MiscControls.text = group['LOCAL_CCFLAGS']
|
MiscControls.text = group['LOCAL_CCFLAGS']
|
||||||
else:
|
else:
|
||||||
MiscControls.text = ' '
|
MiscControls.text = ' '
|
||||||
Define = SubElement(VariousControls, 'Define')
|
Define = SubElement(VariousControls, 'Define')
|
||||||
if group.has_key('LOCAL_CPPDEFINES'):
|
if 'LOCAL_CPPDEFINES' in group:
|
||||||
Define.text = ', '.join(set(group['LOCAL_CPPDEFINES']))
|
Define.text = ', '.join(set(group['LOCAL_CPPDEFINES']))
|
||||||
else:
|
else:
|
||||||
Define.text = ' '
|
Define.text = ' '
|
||||||
Undefine = SubElement(VariousControls, 'Undefine')
|
Undefine = SubElement(VariousControls, 'Undefine')
|
||||||
Undefine.text = ' '
|
Undefine.text = ' '
|
||||||
IncludePath = SubElement(VariousControls, 'IncludePath')
|
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']])
|
IncludePath.text = ';'.join([_make_path_relative(project_path, os.path.normpath(i)) for i in group['LOCAL_CPPPATH']])
|
||||||
else:
|
else:
|
||||||
IncludePath.text = ' '
|
IncludePath.text = ' '
|
||||||
|
|
||||||
# get each include path
|
# get each include path
|
||||||
if group.has_key('CPPPATH') and group['CPPPATH']:
|
if 'CPPPATH' in group and group['CPPPATH']:
|
||||||
if CPPPATH:
|
if CPPPATH:
|
||||||
CPPPATH += group['CPPPATH']
|
CPPPATH += group['CPPPATH']
|
||||||
else:
|
else:
|
||||||
CPPPATH += group['CPPPATH']
|
CPPPATH += group['CPPPATH']
|
||||||
|
|
||||||
# get each group's definitions
|
# get each group's definitions
|
||||||
if group.has_key('CPPDEFINES') and group['CPPDEFINES']:
|
if 'CPPDEFINES' in group and group['CPPDEFINES']:
|
||||||
if CPPDEFINES:
|
if CPPDEFINES:
|
||||||
CPPDEFINES += group['CPPDEFINES']
|
CPPDEFINES += group['CPPDEFINES']
|
||||||
else:
|
else:
|
||||||
CPPDEFINES = group['CPPDEFINES']
|
CPPDEFINES = group['CPPDEFINES']
|
||||||
|
|
||||||
# get each group's link flags
|
# get each group's link flags
|
||||||
if group.has_key('LINKFLAGS') and group['LINKFLAGS']:
|
if 'LINKFLAGS' in group and group['LINKFLAGS']:
|
||||||
if LINKFLAGS:
|
if LINKFLAGS:
|
||||||
LINKFLAGS += ' ' + group['LINKFLAGS']
|
LINKFLAGS += ' ' + group['LINKFLAGS']
|
||||||
else:
|
else:
|
||||||
LINKFLAGS += 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']:
|
for item in group['LIBS']:
|
||||||
lib_path = ''
|
lib_path = ''
|
||||||
for path_item in group['LIBPATH']:
|
for path_item in group['LIBPATH']:
|
||||||
|
@ -260,7 +260,7 @@ def MDK45Project(tree, target, script):
|
||||||
Misc.text = LINKFLAGS
|
Misc.text = LINKFLAGS
|
||||||
|
|
||||||
xml_indent(root)
|
xml_indent(root)
|
||||||
out.write(etree.tostring(root, encoding='utf-8'))
|
out.write(etree.tostring(root, encoding='utf-8').decode())
|
||||||
out.close()
|
out.close()
|
||||||
|
|
||||||
def MDK4Project(target, script):
|
def MDK4Project(target, script):
|
||||||
|
@ -294,10 +294,10 @@ def MDK5Project(target, script):
|
||||||
shutil.copy2('template.uvoptx', 'project.uvoptx')
|
shutil.copy2('template.uvoptx', 'project.uvoptx')
|
||||||
|
|
||||||
def MDKProject(target, script):
|
def MDKProject(target, script):
|
||||||
template = file('template.Uv2', "rb")
|
template = open('template.Uv2', "r")
|
||||||
lines = template.readlines()
|
lines = template.readlines()
|
||||||
|
|
||||||
project = file(target, "wb")
|
project = open(target, "w")
|
||||||
project_path = os.path.dirname(os.path.abspath(target))
|
project_path = os.path.dirname(os.path.abspath(target))
|
||||||
|
|
||||||
line_index = 5
|
line_index = 5
|
||||||
|
@ -323,21 +323,21 @@ def MDKProject(target, script):
|
||||||
# print group['name']
|
# print group['name']
|
||||||
|
|
||||||
# get each include path
|
# get each include path
|
||||||
if group.has_key('CPPPATH') and group['CPPPATH']:
|
if 'CPPPATH' in group and group['CPPPATH']:
|
||||||
if CPPPATH:
|
if CPPPATH:
|
||||||
CPPPATH += group['CPPPATH']
|
CPPPATH += group['CPPPATH']
|
||||||
else:
|
else:
|
||||||
CPPPATH += group['CPPPATH']
|
CPPPATH += group['CPPPATH']
|
||||||
|
|
||||||
# get each group's definitions
|
# get each group's definitions
|
||||||
if group.has_key('CPPDEFINES') and group['CPPDEFINES']:
|
if 'CPPDEFINES' in group and group['CPPDEFINES']:
|
||||||
if CPPDEFINES:
|
if CPPDEFINES:
|
||||||
CPPDEFINES += group['CPPDEFINES']
|
CPPDEFINES += group['CPPDEFINES']
|
||||||
else:
|
else:
|
||||||
CPPDEFINES = group['CPPDEFINES']
|
CPPDEFINES = group['CPPDEFINES']
|
||||||
|
|
||||||
# get each group's link flags
|
# get each group's link flags
|
||||||
if group.has_key('LINKFLAGS') and group['LINKFLAGS']:
|
if 'LINKFLAGS' in group and group['LINKFLAGS']:
|
||||||
if LINKFLAGS:
|
if LINKFLAGS:
|
||||||
LINKFLAGS += ' ' + group['LINKFLAGS']
|
LINKFLAGS += ' ' + group['LINKFLAGS']
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -30,12 +30,12 @@ import shutil
|
||||||
|
|
||||||
def mk_rtconfig(filename):
|
def mk_rtconfig(filename):
|
||||||
try:
|
try:
|
||||||
config = file(filename)
|
config = open(filename, 'r')
|
||||||
except:
|
except:
|
||||||
print('open config:%s failed' % filename)
|
print('open config:%s failed' % filename)
|
||||||
return
|
return
|
||||||
|
|
||||||
rtconfig = file('rtconfig.h', 'wb')
|
rtconfig = open('rtconfig.h', 'w')
|
||||||
rtconfig.write('#ifndef RT_CONFIG_H__\n')
|
rtconfig.write('#ifndef RT_CONFIG_H__\n')
|
||||||
rtconfig.write('#define RT_CONFIG_H__\n\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, 'local_pkgs'))
|
||||||
os.mkdir(os.path.join(env_dir, 'packages'))
|
os.mkdir(os.path.join(env_dir, 'packages'))
|
||||||
os.mkdir(os.path.join(env_dir, 'tools'))
|
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()
|
kconfig.close()
|
||||||
|
|
||||||
if not os.path.exists(os.path.join(env_dir, 'packages', 'packages')):
|
if not os.path.exists(os.path.join(env_dir, 'packages', 'packages')):
|
||||||
|
@ -150,7 +150,7 @@ def touch_env():
|
||||||
"********************************************************************************\n")
|
"********************************************************************************\n")
|
||||||
help_info()
|
help_info()
|
||||||
else:
|
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.write('source "$PKGS_DIR/packages/Kconfig"')
|
||||||
kconfig.close()
|
kconfig.close()
|
||||||
except:
|
except:
|
||||||
|
@ -189,7 +189,7 @@ def touch_env():
|
||||||
help_info()
|
help_info()
|
||||||
|
|
||||||
if sys.platform != 'win32':
|
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')
|
env_sh.write('export PATH=~/.env/tools/scripts:$PATH')
|
||||||
else:
|
else:
|
||||||
if os.path.exists(os.path.join(env_dir, 'tools', 'scripts')):
|
if os.path.exists(os.path.join(env_dir, 'tools', 'scripts')):
|
||||||
|
|
|
@ -28,7 +28,7 @@ from building import *
|
||||||
|
|
||||||
def ExtendPackageVar(package, var):
|
def ExtendPackageVar(package, var):
|
||||||
v = []
|
v = []
|
||||||
if not package.has_key(var):
|
if var not in package:
|
||||||
return v
|
return v
|
||||||
|
|
||||||
for item in package[var]:
|
for item in package[var]:
|
||||||
|
@ -38,7 +38,7 @@ def ExtendPackageVar(package, var):
|
||||||
|
|
||||||
def BuildPackage(package):
|
def BuildPackage(package):
|
||||||
import json
|
import json
|
||||||
f = file(package)
|
f = open(package)
|
||||||
package_json = f.read()
|
package_json = f.read()
|
||||||
|
|
||||||
# get package.json path
|
# get package.json path
|
||||||
|
@ -47,20 +47,20 @@ def BuildPackage(package):
|
||||||
package = json.loads(package_json)
|
package = json.loads(package_json)
|
||||||
|
|
||||||
# check package name
|
# check package name
|
||||||
if not package.has_key('name'):
|
if 'name' not in package:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
# get depends
|
# get depends
|
||||||
depend = ExtendPackageVar(package, 'depends')
|
depend = ExtendPackageVar(package, 'depends')
|
||||||
|
|
||||||
src = []
|
src = []
|
||||||
if package.has_key('source_files'):
|
if 'source_files' in package:
|
||||||
for src_file in package['source_files']:
|
for src_file in package['source_files']:
|
||||||
src_file = os.path.join(cwd, src_file)
|
src_file = os.path.join(cwd, src_file)
|
||||||
src += Glob(src_file)
|
src += Glob(src_file)
|
||||||
|
|
||||||
CPPPATH = []
|
CPPPATH = []
|
||||||
if package.has_key('CPPPATH'):
|
if 'CPPPATH' in package:
|
||||||
for path in package['CPPPATH']:
|
for path in package['CPPPATH']:
|
||||||
if path.startswith('/') and os.path.isdir(path):
|
if path.startswith('/') and os.path.isdir(path):
|
||||||
CPPPATH = CPPPATH + [path]
|
CPPPATH = CPPPATH + [path]
|
||||||
|
|
|
@ -198,7 +198,7 @@ class SconsUI():
|
||||||
|
|
||||||
setting_path = os.path.join(home, '.rtt_scons')
|
setting_path = os.path.join(home, '.rtt_scons')
|
||||||
if os.path.exists(setting_path):
|
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:
|
for line in setting:
|
||||||
line = line.replace('\n', '')
|
line = line.replace('\n', '')
|
||||||
line = line.replace('\r', '')
|
line = line.replace('\r', '')
|
||||||
|
@ -215,7 +215,7 @@ class SconsUI():
|
||||||
setting.close()
|
setting.close()
|
||||||
|
|
||||||
# set RT-Thread Root Directory according environ
|
# 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'])
|
self.RTTRoot.set_path(os.environ['RTT_ROOT'])
|
||||||
|
|
||||||
if self.RTTRoot.get_path() == '':
|
if self.RTTRoot.get_path() == '':
|
||||||
|
@ -268,7 +268,7 @@ class SconsUI():
|
||||||
else:
|
else:
|
||||||
home = os.environ['HOME']
|
home = os.environ['HOME']
|
||||||
|
|
||||||
setting = file(os.path.join(home, '.rtt_scons'), 'wb+')
|
setting = open(os.path.join(home, '.rtt_scons'), 'w+')
|
||||||
# current comiler
|
# current comiler
|
||||||
# line = '%s=%s\n' % ('compiler', self.compilers.get()))
|
# line = '%s=%s\n' % ('compiler', self.compilers.get()))
|
||||||
line = '%s=%s\n' % ('compiler', 'iar')
|
line = '%s=%s\n' % ('compiler', 'iar')
|
||||||
|
|
|
@ -52,11 +52,11 @@ def PrepareUA(project, RTT_ROOT, BSP_ROOT):
|
||||||
|
|
||||||
for group in project:
|
for group in project:
|
||||||
# get each include path
|
# get each include path
|
||||||
if group.has_key('CPPPATH') and group['CPPPATH']:
|
if 'CPPPATH' in group and group['CPPPATH']:
|
||||||
CPPPATH += group['CPPPATH']
|
CPPPATH += group['CPPPATH']
|
||||||
|
|
||||||
# get each group's definitions
|
# get each group's definitions
|
||||||
if group.has_key('CPPDEFINES') and group['CPPDEFINES']:
|
if 'CPPDEFINES' in group and group['CPPDEFINES']:
|
||||||
CPPDEFINES += group['CPPDEFINES']
|
CPPDEFINES += group['CPPDEFINES']
|
||||||
|
|
||||||
if len(CPPPATH):
|
if len(CPPPATH):
|
||||||
|
|
|
@ -183,14 +183,14 @@ def ProjectInfo(env):
|
||||||
|
|
||||||
for group in project:
|
for group in project:
|
||||||
# get each files
|
# get each files
|
||||||
if group.has_key('src') and group['src']:
|
if 'src' in group and group['src']:
|
||||||
FILES += group['src']
|
FILES += group['src']
|
||||||
|
|
||||||
# get each include path
|
# get each include path
|
||||||
if group.has_key('CPPPATH') and group['CPPPATH']:
|
if 'CPPPATH' in group and group['CPPPATH']:
|
||||||
CPPPATH += group['CPPPATH']
|
CPPPATH += group['CPPPATH']
|
||||||
|
|
||||||
if env.has_key('CPPDEFINES'):
|
if 'CPPDEFINES' in env:
|
||||||
CPPDEFINES = env['CPPDEFINES']
|
CPPDEFINES = env['CPPDEFINES']
|
||||||
CPPDEFINES = ListMap(CPPDEFINES)
|
CPPDEFINES = ListMap(CPPDEFINES)
|
||||||
|
|
||||||
|
@ -243,3 +243,47 @@ def ProjectInfo(env):
|
||||||
proj['CPPDEFINES'] = CPPDEFINES
|
proj['CPPDEFINES'] = CPPDEFINES
|
||||||
|
|
||||||
return proj
|
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
|
||||||
|
|
12
tools/vs.py
12
tools/vs.py
|
@ -78,7 +78,7 @@ def VSProject(target, script, program):
|
||||||
tree = etree.parse('template_vs2005.vcproj')
|
tree = etree.parse('template_vs2005.vcproj')
|
||||||
root = tree.getroot()
|
root = tree.getroot()
|
||||||
|
|
||||||
out = file(target, 'wb')
|
out = open(target, 'w')
|
||||||
out.write('<?xml version="1.0" encoding="UTF-8"?>\r\n')
|
out.write('<?xml version="1.0" encoding="UTF-8"?>\r\n')
|
||||||
|
|
||||||
ProjectFiles = []
|
ProjectFiles = []
|
||||||
|
@ -91,7 +91,7 @@ def VSProject(target, script, program):
|
||||||
|
|
||||||
for group in script:
|
for group in script:
|
||||||
libs = []
|
libs = []
|
||||||
if group.has_key('LIBS') and group['LIBS']:
|
if 'LIBS' in group and group['LIBS']:
|
||||||
for item in group['LIBS']:
|
for item in group['LIBS']:
|
||||||
lib_path = ''
|
lib_path = ''
|
||||||
for path_item in group['LIBPATH']:
|
for path_item in group['LIBPATH']:
|
||||||
|
@ -111,7 +111,7 @@ def VSProject(target, script, program):
|
||||||
VS_AddHeadFilesGroup(program, elem, project_path)
|
VS_AddHeadFilesGroup(program, elem, project_path)
|
||||||
|
|
||||||
# write head include path
|
# write head include path
|
||||||
if building.Env.has_key('CPPPATH'):
|
if 'CPPPATH' in building.Env:
|
||||||
cpp_path = building.Env['CPPPATH']
|
cpp_path = building.Env['CPPPATH']
|
||||||
paths = set()
|
paths = set()
|
||||||
for path in cpp_path:
|
for path in cpp_path:
|
||||||
|
@ -130,7 +130,7 @@ def VSProject(target, script, program):
|
||||||
elem.set('AdditionalIncludeDirectories', cpp_path)
|
elem.set('AdditionalIncludeDirectories', cpp_path)
|
||||||
|
|
||||||
# write cppdefinitons flags
|
# write cppdefinitons flags
|
||||||
if building.Env.has_key('CPPDEFINES'):
|
if 'CPPDEFINES' in building.Env:
|
||||||
CPPDEFINES = building.Env['CPPDEFINES']
|
CPPDEFINES = building.Env['CPPDEFINES']
|
||||||
definitions = []
|
definitions = []
|
||||||
if type(CPPDEFINES[0]) == type(()):
|
if type(CPPDEFINES[0]) == type(()):
|
||||||
|
@ -143,7 +143,7 @@ def VSProject(target, script, program):
|
||||||
# write link flags
|
# write link flags
|
||||||
|
|
||||||
# write lib dependence
|
# write lib dependence
|
||||||
if building.Env.has_key('LIBS'):
|
if 'LIBS' in building.Env:
|
||||||
for elem in tree.iter(tag='Tool'):
|
for elem in tree.iter(tag='Tool'):
|
||||||
if elem.attrib['Name'] == 'VCLinkerTool':
|
if elem.attrib['Name'] == 'VCLinkerTool':
|
||||||
break
|
break
|
||||||
|
@ -152,7 +152,7 @@ def VSProject(target, script, program):
|
||||||
elem.set('AdditionalDependencies', libs)
|
elem.set('AdditionalDependencies', libs)
|
||||||
|
|
||||||
# write lib include path
|
# write lib include path
|
||||||
if building.Env.has_key('LIBPATH'):
|
if 'LIBPATH' in building.Env:
|
||||||
lib_path = building.Env['LIBPATH']
|
lib_path = building.Env['LIBPATH']
|
||||||
paths = set()
|
paths = set()
|
||||||
for path in lib_path:
|
for path in lib_path:
|
||||||
|
|
|
@ -168,7 +168,7 @@ def VS2012Project(target, script, program):
|
||||||
VS_add_HeadFiles(program, elem, project_path)
|
VS_add_HeadFiles(program, elem, project_path)
|
||||||
|
|
||||||
# write head include path
|
# write head include path
|
||||||
if building.Env.has_key('CPPPATH'):
|
if 'CPPPATH' in building.Env:
|
||||||
cpp_path = building.Env['CPPPATH']
|
cpp_path = building.Env['CPPPATH']
|
||||||
paths = set()
|
paths = set()
|
||||||
for path in cpp_path:
|
for path in cpp_path:
|
||||||
|
@ -185,7 +185,7 @@ def VS2012Project(target, script, program):
|
||||||
break
|
break
|
||||||
|
|
||||||
# write cppdefinitons flags
|
# write cppdefinitons flags
|
||||||
if building.Env.has_key('CPPDEFINES'):
|
if 'CPPDEFINES' in building.Env:
|
||||||
for elem in tree.iter(tag='PreprocessorDefinitions'):
|
for elem in tree.iter(tag='PreprocessorDefinitions'):
|
||||||
definitions = ';'.join(building.Env['CPPDEFINES']) + ';%(PreprocessorDefinitions)'
|
definitions = ';'.join(building.Env['CPPDEFINES']) + ';%(PreprocessorDefinitions)'
|
||||||
elem.text = definitions
|
elem.text = definitions
|
||||||
|
@ -193,7 +193,7 @@ def VS2012Project(target, script, program):
|
||||||
# write link flags
|
# write link flags
|
||||||
|
|
||||||
# write lib dependence (Link)
|
# write lib dependence (Link)
|
||||||
if building.Env.has_key('LIBS'):
|
if 'LIBS' in building.Env:
|
||||||
for elem in tree.iter(tag='AdditionalDependencies'):
|
for elem in tree.iter(tag='AdditionalDependencies'):
|
||||||
libs_with_extention = [i+'.lib' for i in building.Env['LIBS']]
|
libs_with_extention = [i+'.lib' for i in building.Env['LIBS']]
|
||||||
libs = ';'.join(libs_with_extention) + ';%(AdditionalDependencies)'
|
libs = ';'.join(libs_with_extention) + ';%(AdditionalDependencies)'
|
||||||
|
@ -201,7 +201,7 @@ def VS2012Project(target, script, program):
|
||||||
break
|
break
|
||||||
|
|
||||||
# write lib include path
|
# write lib include path
|
||||||
if building.Env.has_key('LIBPATH'):
|
if 'LIBPATH' in building.Env:
|
||||||
lib_path = building.Env['LIBPATH']
|
lib_path = building.Env['LIBPATH']
|
||||||
paths = set()
|
paths = set()
|
||||||
for path in lib_path:
|
for path in lib_path:
|
||||||
|
|
|
@ -66,19 +66,19 @@ Return('objs')
|
||||||
'''
|
'''
|
||||||
|
|
||||||
def usage():
|
def usage():
|
||||||
print 'wizard --component name'
|
print('wizard --component name')
|
||||||
print 'wizard --bridge'
|
print('wizard --bridge')
|
||||||
|
|
||||||
def gen_component(name):
|
def gen_component(name):
|
||||||
print 'generate SConscript for ' + name
|
print('generate SConscript for ' + name)
|
||||||
text = SConscript_com.replace('COMPONENT_NAME', name)
|
text = SConscript_com.replace('COMPONENT_NAME', name)
|
||||||
f = file('SConscript', 'w')
|
f = open('SConscript', 'w')
|
||||||
f.write(text)
|
f.write(text)
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
def gen_bridge():
|
def gen_bridge():
|
||||||
print 'generate SConscript for bridge'
|
print('generate SConscript for bridge')
|
||||||
f = file('SConscript', 'w')
|
f = open('SConscript', 'w')
|
||||||
f.write(SConscript_bridge)
|
f.write(SConscript_bridge)
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue