diff options
| author | 陈豪 | Jacob Chen <[email protected]> | 2015-03-29 18:35:44 +0800 |
|---|---|---|
| committer | 陈豪 | Jacob Chen <[email protected]> | 2015-03-29 18:35:44 +0800 |
| commit | 9a4dacaad743801c9be2dbae49251c4e1b8f99a9 (patch) | |
| tree | 34def3bef5c5fc4a9b7594eba5a2729f8c86aab0 /tools | |
| parent | daac5388afe5a18d51e9839719de8423b62b00c1 (diff) | |
| parent | 5af7abd8c2e8b8a39c0bf096bdf9b5cb08f266fa (diff) | |
Merge pull request #3 from RT-Thread/master
111
Diffstat (limited to 'tools')
| -rwxr-xr-x | tools/as.sh | 3 | ||||
| -rw-r--r-- | tools/building.py | 129 | ||||
| -rw-r--r-- | tools/codeblocks.py | 24 | ||||
| -rw-r--r-- | tools/cscope.py | 24 | ||||
| -rw-r--r-- | tools/iar.py | 24 | ||||
| -rw-r--r-- | tools/keil.py | 195 | ||||
| -rw-r--r-- | tools/sconsui.py | 24 | ||||
| -rw-r--r-- | tools/tools/clang-analyze.py | 2 | ||||
| -rw-r--r-- | tools/ua.py | 35 | ||||
| -rw-r--r-- | tools/utils.py | 24 | ||||
| -rw-r--r-- | tools/vs.py | 24 | ||||
| -rw-r--r-- | tools/vs2012.py | 24 | ||||
| -rw-r--r-- | tools/win32spawn.py | 24 | ||||
| -rwxr-xr-x | tools/wizard.py | 24 |
14 files changed, 521 insertions, 59 deletions
diff --git a/tools/as.sh b/tools/as.sh new file mode 100755 index 0000000000..d4f30f418c --- /dev/null +++ b/tools/as.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +astyle --style=allman --indent=spaces=4 --pad-oper --pad-header --unpad-paren --suffix=none --align-pointer=name --lineend=linux --convert-tabs --verbose $1 diff --git a/tools/building.py b/tools/building.py index caa48d96ae..d95cf3672f 100644 --- a/tools/building.py +++ b/tools/building.py @@ -1,3 +1,27 @@ +# +# File : building.py +# This file is part of RT-Thread RTOS +# COPYRIGHT (C) 2006 - 2015, RT-Thread Development Team +# +# 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. +# +# Change Logs: +# Date Author Notes +# 2015-01-20 Bernard Add copyright information +# + import os import sys import string @@ -67,7 +91,7 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [ rtconfig.EXEC_PATH = rtconfig.EXEC_PATH.replace('bin40', 'armcc/bin') Env['LINKFLAGS']=Env['LINKFLAGS'].replace('RV31', 'armcc') - # reset AR command flags + # reset AR command flags env['ARCOM'] = '$AR --create $TARGET $SOURCES' env['LIBPREFIX'] = '' env['LIBSUFFIX'] = '.lib' @@ -102,7 +126,7 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [ PreProcessor.process_contents(contents) BuildOptions = PreProcessor.cpp_namespace - # add copy option + # add copy option AddOption('--copy', dest='copy', action='store_true', @@ -148,12 +172,12 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [ rtconfig.POST_ACTION = '' # add build library option - AddOption('--buildlib', - dest='buildlib', + AddOption('--buildlib', + dest='buildlib', type='string', help='building library of a component') - AddOption('--cleanlib', - dest='cleanlib', + AddOption('--cleanlib', + dest='cleanlib', action='store_true', default=False, help='clean up the library by --buildlib') @@ -167,6 +191,7 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [ #{target_name:(CROSS_TOOL, PLATFORM)} tgt_dict = {'mdk':('keil', 'armcc'), 'mdk4':('keil', 'armcc'), + 'mdk5':('keil', 'armcc'), 'iar':('iar', 'iar'), 'vs':('msvc', 'cl'), 'vs2012':('msvc', 'cl'), @@ -231,22 +256,31 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [ return objs -def PrepareModuleBuilding(env, root_directory): +def PrepareModuleBuilding(env, root_directory, bsp_directory): import rtconfig + global BuildOptions global Env global Rtt_Root Env = env Rtt_Root = root_directory - # add build/clean library option for library checking - AddOption('--buildlib', - dest='buildlib', + # parse bsp rtconfig.h to get used component + PreProcessor = SCons.cpp.PreProcessor() + f = file(bsp_directory + '/rtconfig.h', 'r') + contents = f.read() + f.close() + PreProcessor.process_contents(contents) + BuildOptions = PreProcessor.cpp_namespace + + # add build/clean library option for library checking + AddOption('--buildlib', + dest='buildlib', type='string', help='building library of a component') - AddOption('--cleanlib', - dest='cleanlib', + AddOption('--cleanlib', + dest='cleanlib', action='store_true', default=False, help='clean up the library by --buildlib') @@ -268,7 +302,7 @@ def GetDepend(depend): building = False elif BuildOptions[depend] != '': return BuildOptions[depend] - + return building # for list type depend @@ -345,7 +379,7 @@ def DefineGroup(name, src, depend, **parameters): if group.has_key('LINKFLAGS'): Env.Append(LINKFLAGS = group['LINKFLAGS']) - # 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 group['src'] != []: print 'Remove library:', GroupLibFullName(name, Env) @@ -364,18 +398,19 @@ def DefineGroup(name, src, depend, **parameters): if group.has_key('LIBPATH'): Env.Append(LIBPATH = group['LIBPATH']) - objs = Env.Object(group['src']) if group.has_key('LIBRARY'): - objs = Env.Library(name, objs) + objs = Env.Library(name, group['src']) + else: + objs = group['src'] - # merge group + # merge group for g in Projects: if g['name'] == name: # merge to this group MergeGroup(g, group) return objs - # add a new group + # add a new group Projects.append(group) return objs @@ -437,12 +472,6 @@ def DoBuilding(target, objects): break else: - # merge the repeated items in the Env - if Env.has_key('CPPPATH') : Env['CPPPATH'] = list(set(Env['CPPPATH'])) - if Env.has_key('CPPDEFINES'): Env['CPPDEFINES'] = list(set(Env['CPPDEFINES'])) - if Env.has_key('LIBPATH') : Env['LIBPATH'] = list(set(Env['LIBPATH'])) - if Env.has_key('LIBS') : Env['LIBS'] = list(set(Env['LIBS'])) - program = Env.Program(target, objects) EndBuilding(target, program) @@ -455,6 +484,7 @@ def EndBuilding(target, program = None): if GetOption('target') == 'mdk': from keil import MDKProject from keil import MDK4Project + from keil import MDK5Project template = os.path.isfile('template.Uv2') if template: @@ -464,16 +494,24 @@ def EndBuilding(target, program = None): if template: MDK4Project('project.uvproj', Projects) else: - print 'No template project file found.' + template = os.path.isfile('template.uvprojx') + if template: + MDK5Project('project.uvprojx', Projects) + else: + print 'No template project file found.' + if GetOption('target') == 'mdk4': - from keil import MDKProject from keil import MDK4Project MDK4Project('project.uvproj', Projects) + if GetOption('target') == 'mdk5': + from keil import MDK5Project + MDK5Project('project.uvprojx', Projects) + if GetOption('target') == 'iar': from iar import IARProject - IARProject('project.ewp', Projects) + IARProject('project.ewp', Projects) if GetOption('target') == 'vs': from vs import VSProject @@ -490,7 +528,7 @@ def EndBuilding(target, program = None): if GetOption('target') == 'ua': from ua import PrepareUA PrepareUA(Projects, Rtt_Root, str(Dir('#'))) - + if GetOption('copy') and program != None: MakeCopy(program) if GetOption('copy-header') and program != None: @@ -501,6 +539,9 @@ def EndBuilding(target, program = None): CscopeDatabase(Projects) def SrcRemove(src, remove): + if not src: + return + if type(src[0]) == type('str'): for item in src: if os.path.basename(item) in remove: @@ -517,7 +558,7 @@ def GetVersion(): rtdef = os.path.join(Rtt_Root, 'include', 'rtdef.h') - # parse rtdef.h to get RT-Thread version + # parse rtdef.h to get RT-Thread version prepcessor = SCons.cpp.PreProcessor() f = file(rtdef, 'r') contents = f.read() @@ -563,9 +604,9 @@ def do_rm_file(src): def do_copy_file(src, dst): import shutil - # check source file + # check source file if not os.path.exists(src): - return + return path = os.path.dirname(dst) # mkdir if path not exist @@ -576,13 +617,13 @@ def do_copy_file(src, dst): def do_copy_folder(src_dir, dst_dir): import shutil - # check source directory + # check source directory if not os.path.exists(src_dir): return - + if os.path.exists(dst_dir): shutil.rmtree(dst_dir) - + shutil.copytree(src_dir, dst_dir) source_ext = ["c", "h", "s", "S", "cpp", "xpm"] @@ -609,22 +650,22 @@ def MakeCopy(program): global source_list global Rtt_Root global Env - + target_path = os.path.join(Dir('#').abspath, 'rt-thread') - + if Env['PLATFORM'] == 'win32': RTT_ROOT = Rtt_Root.lower() else: RTT_ROOT = Rtt_Root - + if target_path.startswith(RTT_ROOT): return for item in program: walk_children(item) - + source_list.sort() - + # filte source file in RT-Thread target_list = [] for src in source_list: @@ -635,7 +676,7 @@ def MakeCopy(program): target_list.append(src) source_list = target_list - # get source path + # get source path src_dir = [] for src in source_list: src = src.replace(RTT_ROOT, '') @@ -647,10 +688,10 @@ def MakeCopy(program): full_path = RTT_ROOT for item in sub_path: full_path = os.path.join(full_path, item) - if full_path not in src_dir: + if full_path not in src_dir: src_dir.append(full_path) - for item in src_dir: + for item in src_dir: source_list.append(os.path.join(item, 'SConscript')) for src in source_list: @@ -661,7 +702,7 @@ def MakeCopy(program): dst = os.path.join(target_path, dst) do_copy_file(src, dst) - # copy tools directory + # copy tools directory print "=> tools" do_copy_folder(os.path.join(RTT_ROOT, "tools"), os.path.join(target_path, "tools")) do_copy_file(os.path.join(RTT_ROOT, 'AUTHORS'), os.path.join(target_path, 'AUTHORS')) @@ -709,7 +750,7 @@ def MakeCopyHeader(program): dst = os.path.join(target_path, dst) do_copy_file(src, dst) - # copy tools directory + # copy tools directory print "=> tools" do_copy_folder(os.path.join(RTT_ROOT, "tools"), os.path.join(target_path, "tools")) do_copy_file(os.path.join(RTT_ROOT, 'AUTHORS'), os.path.join(target_path, 'AUTHORS')) diff --git a/tools/codeblocks.py b/tools/codeblocks.py index 78f9629cbb..cb07956e73 100644 --- a/tools/codeblocks.py +++ b/tools/codeblocks.py @@ -1,3 +1,27 @@ +# +# File : codeblocks.py +# This file is part of RT-Thread RTOS +# COPYRIGHT (C) 2006 - 2015, RT-Thread Development Team +# +# 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. +# +# Change Logs: +# Date Author Notes +# 2015-01-20 Bernard Add copyright information +# + import os import sys import string diff --git a/tools/cscope.py b/tools/cscope.py index 18568b4c35..daeda52f9d 100644 --- a/tools/cscope.py +++ b/tools/cscope.py @@ -1,3 +1,27 @@ +# +# File : cscope.py +# This file is part of RT-Thread RTOS +# COPYRIGHT (C) 2006 - 2015, RT-Thread Development Team +# +# 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. +# +# Change Logs: +# Date Author Notes +# 2015-01-20 Bernard Add copyright information +# + import os def _get_src(project): diff --git a/tools/iar.py b/tools/iar.py index 40b8408971..fda3fd8768 100644 --- a/tools/iar.py +++ b/tools/iar.py @@ -1,3 +1,27 @@ +# +# File : iar.py +# This file is part of RT-Thread RTOS +# COPYRIGHT (C) 2006 - 2015, RT-Thread Development Team +# +# 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. +# +# Change Logs: +# Date Author Notes +# 2015-01-20 Bernard Add copyright information +# + import os import sys import string diff --git a/tools/keil.py b/tools/keil.py index 64afedfb65..9d6b14b81a 100644 --- a/tools/keil.py +++ b/tools/keil.py @@ -1,3 +1,27 @@ +# +# File : keil.py +# This file is part of RT-Thread RTOS +# COPYRIGHT (C) 2006 - 2015, RT-Thread Development Team +# +# 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. +# +# Change Logs: +# Date Author Notes +# 2015-01-20 Bernard Add copyright information +# + import os import sys import string @@ -49,11 +73,11 @@ def MDK4AddGroupForFN(ProjectFiles, parent, name, filename, project_path): file_type = SubElement(file, 'FileType') file_type.text = '%d' % _get_filetype(name) file_path = SubElement(file, 'FilePath') - + file_path.text = path.decode(fs_encoding) def MDK4AddGroup(ProjectFiles, parent, name, files, project_path): - # don't add an empty group + # don't add an empty group if len(files) == 0: return @@ -69,7 +93,7 @@ def MDK4AddGroup(ProjectFiles, parent, name, files, project_path): basename = os.path.basename(path) path = _make_path_relative(project_path, path) path = os.path.join(path, name) - + files = SubElement(group, 'Files') file = SubElement(files, 'File') file_name = SubElement(file, 'FileName') @@ -81,7 +105,7 @@ def MDK4AddGroup(ProjectFiles, parent, name, files, project_path): file_type = SubElement(file, 'FileType') file_type.text = '%d' % _get_filetype(name) file_path = SubElement(file, 'FilePath') - + file_path.text = path.decode(fs_encoding) def MDK4Project(target, script): @@ -93,16 +117,16 @@ def MDK4Project(target, script): tree = etree.parse('template.uvproj') root = tree.getroot() - + out = file(target, 'wb') out.write('<?xml version="1.0" encoding="UTF-8" standalone="no" ?>\n') - + CPPPATH = [] CPPDEFINES = [] LINKFLAGS = '' CCFLAGS = '' ProjectFiles = [] - + # add group groups = tree.find('Targets/Target/Groups') if groups is None: @@ -110,28 +134,28 @@ def MDK4Project(target, script): groups.clear() # clean old groups for group in script: group_xml = MDK4AddGroup(ProjectFiles, groups, group['name'], group['src'], project_path) - + # get each include path if group.has_key('CPPPATH') 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: CPPDEFINES += group['CPPDEFINES'] else: CPPDEFINES += group['CPPDEFINES'] - + # get each group's link flags if group.has_key('LINKFLAGS') and group['LINKFLAGS']: if LINKFLAGS: LINKFLAGS += ' ' + group['LINKFLAGS'] else: LINKFLAGS += group['LINKFLAGS'] - + if group.has_key('LIBS') and group['LIBS']: for item in group['LIBS']: lib_path = '' @@ -161,7 +185,154 @@ def MDK4Project(target, script): if os.path.exists('template.uvopt'): import shutil shutil.copy2('template.uvopt', 'project.uvopt') - + +def MDK5AddGroupForFN(ProjectFiles, parent, name, filename, project_path): + group = SubElement(parent, 'Group') + group_name = SubElement(group, 'GroupName') + group_name.text = name + + name = os.path.basename(filename) + path = os.path.dirname (filename) + + basename = os.path.basename(path) + path = _make_path_relative(project_path, path) + path = os.path.join(path, name) + files = SubElement(group, 'Files') + file = SubElement(files, 'File') + file_name = SubElement(file, 'FileName') + name = os.path.basename(path) + if ProjectFiles.count(name): + name = basename + '_' + name + ProjectFiles.append(name) + file_name.text = 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) + +def MDK5AddGroup(ProjectFiles, parent, name, files, project_path): + # don't add an empty group + if len(files) == 0: + return + + group = SubElement(parent, 'Group') + group_name = SubElement(group, 'GroupName') + group_name.text = name + + for f in files: + fn = f.rfile() + name = fn.name + path = os.path.dirname(fn.abspath) + + basename = os.path.basename(path) + path = _make_path_relative(project_path, path) + path = os.path.join(path, name) + + files = SubElement(group, 'Files') + file = SubElement(files, 'File') + file_name = SubElement(file, 'FileName') + name = os.path.basename(path) + if ProjectFiles.count(name): + name = basename + '_' + name + ProjectFiles.append(name) + file_name.text = 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) + +def MDK5Project(target, script): + project_path = os.path.dirname(os.path.abspath(target)) + + project_uvopt = os.path.abspath(target).replace('uvprojx', 'uvoptx') + if os.path.isfile(project_uvopt): + os.unlink(project_uvopt) + + tree = etree.parse('template.uvprojx') + root = tree.getroot() + + out = file(target, 'wb') + out.write('<?xml version="1.0" encoding="UTF-8" standalone="no" ?>\n') + + CPPPATH = [] + CPPDEFINES = [] + LINKFLAGS = '' + CCFLAGS = '' + ProjectFiles = [] + + # add group + groups = tree.find('Targets/Target/Groups') + if groups is None: + groups = SubElement(tree.find('Targets/Target'), 'Groups') + for group in script: + group_xml = MDK4AddGroup(ProjectFiles, groups, group['name'], group['src'], project_path) + + # get each include path + if group.has_key('CPPPATH') 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: + CPPDEFINES += group['CPPDEFINES'] + else: + CPPDEFINES += group['CPPDEFINES'] + + # get each group's link flags + if group.has_key('LINKFLAGS') and group['LINKFLAGS']: + if LINKFLAGS: + LINKFLAGS += ' ' + group['LINKFLAGS'] + else: + LINKFLAGS += group['LINKFLAGS'] + + if group.has_key('LIBS') and group['LIBS']: + for item in group['LIBS']: + lib_path = '' + for path_item in group['LIBPATH']: + full_path = os.path.join(path_item, item + '.lib') + if os.path.isfile(full_path): # has this library + lib_path = full_path + + if lib_path != '': + MDK4AddGroupForFN(ProjectFiles, groups, group['name'], lib_path, project_path) + + # remove repeat path + paths = set() + for path in CPPPATH: + inc = _make_path_relative(project_path, os.path.normpath(path)) + paths.add(inc) #.replace('\\', '/') + + paths = [i for i in paths] + paths.sort() + CPPPATH = string.join(paths, ';') + + definitions = [i for i in set(CPPDEFINES)] + CPPDEFINES = string.join(definitions, ', ') + + # write include path, definitions and link flags + IncludePath = tree.find('Targets/Target/TargetOption/TargetArmAds/Cads/VariousControls/IncludePath') + IncludePath.text = CPPPATH + + Define = tree.find('Targets/Target/TargetOption/TargetArmAds/Cads/VariousControls/Define') + Define.text = CPPDEFINES + + Misc = tree.find('Targets/Target/TargetOption/TargetArmAds/LDads/Misc') + Misc.text = LINKFLAGS + + xml_indent(root) + out.write(etree.tostring(root, encoding='utf-8')) + out.close() + + # copy uvopt file + if os.path.exists('template.uvoptx'): + import shutil + shutil.copy2('template.uvoptx', 'project.uvoptx') + def MDKProject(target, script): template = file('template.Uv2', "rb") lines = template.readlines() diff --git a/tools/sconsui.py b/tools/sconsui.py index eddccb49f4..3542c36278 100644 --- a/tools/sconsui.py +++ b/tools/sconsui.py @@ -1,6 +1,30 @@ #! /usr/bin/env python #coding=utf-8 +# +# File : sconsui.py +# This file is part of RT-Thread RTOS +# COPYRIGHT (C) 2006 - 2015, RT-Thread Development Team +# +# 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. +# +# Change Logs: +# Date Author Notes +# 2015-01-20 Bernard Add copyright information +# + import sys py2 = py30 = py31 = False diff --git a/tools/tools/clang-analyze.py b/tools/tools/clang-analyze.py index a966a7b56a..e73f30ca31 100644 --- a/tools/tools/clang-analyze.py +++ b/tools/tools/clang-analyze.py @@ -33,7 +33,7 @@ def generate(env): env['AR'] = 'true' env['LINK'] = 'true' - env['CFLAGS'] = ['-fsyntax-only', '-Wall', '-Wno-invalid-source-encoding'] + env['CFLAGS'] = ['-fsyntax-only', '-Wall', '-Wno-invalid-source-encoding', '-m32'] env['LINKFLAGS'] = '-Wl,--gc-sections' env['ARFLAGS'] = '-rc' diff --git a/tools/ua.py b/tools/ua.py index ac3ea9061c..31d2641031 100644 --- a/tools/ua.py +++ b/tools/ua.py @@ -1,3 +1,27 @@ +# +# File : ua.py +# This file is part of RT-Thread RTOS +# COPYRIGHT (C) 2006 - 2015, RT-Thread Development Team +# +# 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. +# +# Change Logs: +# Date Author Notes +# 2015-01-20 Bernard Add copyright information +# + import os import sys from utils import _make_path_relative @@ -59,6 +83,10 @@ def PrepareUA(project, RTT_ROOT, BSP_ROOT): ua.write('\t\t%s\n' % path) ua.write('\t]\n\n') ua.write('\treturn CPPPATH\n\n') + else: + ua.write('def GetCPPPATH(BSP_ROOT, RTT_ROOT):\n') + ua.write('\tCPPPATH=[]\n\n') + ua.write('\treturn CPPPATH\n\n') if len(CPPDEFINES): CPPDEFINES = [i for i in set(CPPDEFINES)] @@ -66,5 +94,8 @@ def PrepareUA(project, RTT_ROOT, BSP_ROOT): ua.write('def GetCPPDEFINES():\n') ua.write('\tCPPDEFINES=%s\n' % str(CPPDEFINES)) ua.write('\treturn CPPDEFINES\n\n') - - print CPPDEFINES + + else: + ua.write('def GetCPPDEFINES():\n') + ua.write('\tCPPDEFINES=""\n\n') + ua.write('\treturn CPPDEFINES\n\n') diff --git a/tools/utils.py b/tools/utils.py index d1b0944939..0fa8cc742e 100644 --- a/tools/utils.py +++ b/tools/utils.py @@ -1,3 +1,27 @@ +# +# File : utils.py +# This file is part of RT-Thread RTOS +# COPYRIGHT (C) 2006 - 2015, RT-Thread Development Team +# +# 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. +# +# Change Logs: +# Date Author Notes +# 2015-01-20 Bernard Add copyright information +# + import sys import os diff --git a/tools/vs.py b/tools/vs.py index 1dce0ddaa7..bd1c7a4b24 100644 --- a/tools/vs.py +++ b/tools/vs.py @@ -1,3 +1,27 @@ +# +# File : vs.py +# This file is part of RT-Thread RTOS +# COPYRIGHT (C) 2006 - 2015, RT-Thread Development Team +# +# 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. +# +# Change Logs: +# Date Author Notes +# 2015-01-20 Bernard Add copyright information +# + import os import sys import string diff --git a/tools/vs2012.py b/tools/vs2012.py index 3e751e940e..14da3dcace 100644 --- a/tools/vs2012.py +++ b/tools/vs2012.py @@ -1,3 +1,27 @@ +# +# File : vs2012.py +# This file is part of RT-Thread RTOS +# COPYRIGHT (C) 2006 - 2015, RT-Thread Development Team +# +# 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. +# +# Change Logs: +# Date Author Notes +# 2015-01-20 Bernard Add copyright information +# + import os import sys import string diff --git a/tools/win32spawn.py b/tools/win32spawn.py index 8adc64306b..9b878bf69f 100644 --- a/tools/win32spawn.py +++ b/tools/win32spawn.py @@ -1,3 +1,27 @@ +# +# File : win32spawn.py +# This file is part of RT-Thread RTOS +# COPYRIGHT (C) 2006 - 2015, RT-Thread Development Team +# +# 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. +# +# Change Logs: +# Date Author Notes +# 2015-01-20 Bernard Add copyright information +# + import os import threading import Queue diff --git a/tools/wizard.py b/tools/wizard.py index 4b2186fadb..41e90775d8 100755 --- a/tools/wizard.py +++ b/tools/wizard.py @@ -1,6 +1,30 @@ #! /usr/bin/env python #coding=utf-8 +# +# File : wizard.py +# This file is part of RT-Thread RTOS +# COPYRIGHT (C) 2006 - 2015, RT-Thread Development Team +# +# 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. +# +# Change Logs: +# Date Author Notes +# 2015-01-20 Bernard Add copyright information +# + """ wizard.py - a script to generate SConscript in RT-Thread RTOS. |
