Clone of official tools
Diff: toolchains/__init__.py
- Revision:
- 2:07730b0f452c
- Parent:
- 1:a99c8e460c5c
- Child:
- 4:517abc9a41c6
--- a/toolchains/__init__.py Fri May 20 20:16:44 2016 +0100 +++ b/toolchains/__init__.py Fri May 20 22:27:03 2016 +0100 @@ -183,7 +183,7 @@ GOANNA_FORMAT = "[Goanna] warning [%FILENAME%:%LINENO%] - [%CHECKNAME%(%SEVERITY%)] %MESSAGE%" GOANNA_DIAGNOSTIC_PATTERN = re.compile(r'"\[Goanna\] (?P<severity>warning) \[(?P<file>[^:]+):(?P<line>\d+)\] \- (?P<message>.*)"') - def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False): + def __init__(self, target, options=None, notify=None, macros=None, silent=False, extra_verbose=False, profile=None): self.target = target self.name = self.__class__.__name__ self.hook = hooks.Hook(target, self) @@ -218,9 +218,13 @@ self.jobs = 1 self.CHROOT = None + self.mp_pool = None - self.mp_pool = None - + if profile and (TOOLCHAIN_PROFILES.get(self.name, None) and + TOOLCHAIN_PROFILES[self.name].get(profile)): + self.PROFILE = TOOLCHAIN_PROFILES[self.name].get(profile) + self.info("Using toolchain %s profile %s" % (self.name, profile)) + if 'UVISOR_PRESENT=1' in self.macros: self.target.core = re.sub(r"F$", '', self.target.core) @@ -789,97 +793,71 @@ TOOLCHAIN_PROFILES = { 'uARM' : { 'v5': { - 'ARMCC_VERSION': '5.06', - 'COMMON_FLAGS':['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'], - 'COMMON_C_FLAGS':['--no_depend_system_headers'], - 'COMMON_CC_FLAGS':['--c99'], - 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'], - 'COMPILE_C_AS_CPP': False, - 'PATCHED_LIBRARY' : False, + 'ARMCC_VERSION': '5.06', + 'COMMON_FLAGS': ['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'], + 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'], }, 'v4': { - 'ARMCC_VERSION': '5.03', - 'COMMON_FLAGS':['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'], - 'COMMON_C_FLAGS':['--no_depend_system_headers'], - 'COMMON_CC_FLAGS':['--c99'], - 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'], - 'COMPILE_C_AS_CPP': False, - 'PATCHED_LIBRARY' : False, + 'ARMCC_VERSION': '5.03', + 'COMMON_FLAGS': ['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'], + 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'], }, - 'v3': { - 'ARMCC_VERSION': '5.01', - 'COMMON_FLAGS':['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'], - 'COMMON_C_FLAGS':['--no_depend_system_headers'], - 'COMMON_CC_FLAGS':['--c99'], - 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'], - 'COMPILE_C_AS_CPP': False, - 'PATCHED_LIBRARY' : False, + 'ARMCC_VERSION': '5.01', + 'COMMON_FLAGS': ['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'], + 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'], }, - 'v2': { - 'ARMCC_VERSION': '4', - 'COMMON_FLAGS':['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'], - 'COMMON_C_FLAGS':['--no_depend_system_headers'], - 'COMMON_CC_FLAGS':['--c99'], - 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'], - 'COMPILE_C_AS_CPP': False, + 'ARMCC_VERSION': '4', + 'COMMON_FLAGS': ['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'], + 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'], 'PATCHED_LIBRARY' : True, }, - 'v1': { - 'ARMCC_VERSION': '4', - 'COMMON_FLAGS':['-c', '--gnu', '-Otime', '--split_sections', '--apcs=interwork'], - 'COMMON_C_FLAGS':['--no_depend_system_headers'], - 'COMMON_CC_FLAGS':['--c99'], - 'COMMON_CPP_FLAGS':['--cpp'], + 'ARMCC_VERSION': '4', + 'COMMON_FLAGS': ['-c', '--gnu', '-Otime', '--split_sections', '--apcs=interwork'], + 'COMMON_CPP_FLAGS': ['--cpp'], 'COMPILE_C_AS_CPP': True, 'PATCHED_LIBRARY' : True, } }, 'ARM' : { 'v5': { - 'ARMCC_VERSION': '5.06', - 'COMMON_FLAGS':['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'], - 'COMMON_C_FLAGS':['--no_depend_system_headers'], - 'COMMON_CC_FLAGS':['--c99'], - 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'], + 'ARMCC_VERSION': '5.06', + 'COMMON_FLAGS': ['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'], + 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'], 'COMPILE_C_AS_CPP': False, }, - 'v4': { - 'ARMCC_VERSION': '5.03', - 'COMMON_FLAGS':['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'], - 'COMMON_C_FLAGS':['--no_depend_system_headers'], - 'COMMON_CC_FLAGS':['--c99'], - 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'], + 'ARMCC_VERSION': '5.03', + 'COMMON_FLAGS': ['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'], + 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'], + 'COMPILE_C_AS_CPP': False, + }, + 'v3': { + 'ARMCC_VERSION': '5.01', + 'COMMON_FLAGS': ['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'], + 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'], 'COMPILE_C_AS_CPP': False, }, - - 'v3': { - 'ARMCC_VERSION': '5.01', - 'COMMON_FLAGS':['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'], - 'COMMON_C_FLAGS':['--no_depend_system_headers'], - 'COMMON_CC_FLAGS':['--c99'], - 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'], + 'v2': { + 'ARMCC_VERSION': '5.01', + 'COMMON_FLAGS': ['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'], + 'COMMON_CPP_FLAGS': ['--cpp', '--no_rtti'], 'COMPILE_C_AS_CPP': False, }, - - 'v2': { - 'COMMON_FLAGS':['-c', '--gnu', '-Ospace', '--split_sections', '--apcs=interwork'], - 'COMMON_C_FLAGS':['--no_depend_system_headers'], - 'COMMON_CC_FLAGS':['--c99'], - 'COMMON_CPP_FLAGS':['--cpp', '--no_rtti'], - 'COMPILE_C_AS_CPP': False, - }, - 'v1': { - 'ARMCC_VERSION': '4', - 'COMMON_FLAGS':['-c', '--gnu', '-Otime', '--split_sections', '--apcs=interwork'], - 'COMMON_C_FLAGS':['--no_depend_system_headers'], - 'COMMON_CC_FLAGS':['--c99'], - 'COMMON_CPP_FLAGS':['--cpp'], + 'ARMCC_VERSION': '4', + 'COMMON_FLAGS': ['-c', '--gnu', '-Otime', '--split_sections', '--apcs=interwork'], + 'COMMON_CPP_FLAGS': ['--cpp'], 'COMPILE_C_AS_CPP': True, } - } # end ARM + }, + 'GCC_ARM' : { + 'v2': { + 'COMMON_FLAGS': ["-c", "-O2", "-Wall", "-fmessage-length=0", "-fno-exceptions", "-fno-builtin", "-ffunction-sections", "-fdata-sections"], + 'COMMON_CPP_FLAGS': ['-std=gnu++98'], + 'COMMON_LD_FLAGS': ['-Wl,--gc-sections'], + } + } }