Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-sdk-tools by
Diff: build_api.py
- Revision:
- 14:ee1b877e6839
- Parent:
- 13:ab47a20b66f0
- Child:
- 17:04753e1e329d
diff -r ab47a20b66f0 -r ee1b877e6839 build_api.py --- a/build_api.py Thu Jul 14 20:21:19 2016 +0100 +++ b/build_api.py Thu Jul 14 20:37:27 2016 +0100 @@ -31,7 +31,8 @@ from tools.paths import MBED_TARGETS_PATH, MBED_LIBRARIES, MBED_API, MBED_HAL, MBED_COMMON from tools.targets import TARGET_NAMES, TARGET_MAP from tools.libraries import Library -from tools.toolchains import TOOLCHAIN_CLASSES +from tools.toolchains import TOOLCHAIN_CLASSES, mbedToolchain +from tools.build_profiles import find_build_profile, get_toolchain_profile from jinja2 import FileSystemLoader from jinja2.environment import Environment from tools.config import Config @@ -155,6 +156,27 @@ except KeyError: raise KeyError("Target '%s' not found" % target) + # Find build system profile + profile = None + for path in src_paths: + profile = find_build_profile(path) or profile + + if profile: + def init_hook(self): + profile_data = get_toolchain_profile(self.name, profile) + if not profile_data: + return + self.info("Using toolchain %s profile %s" % (self.name, profile)) + + + for k,v in profile_data.items(): + if self.flags.has_key(k): + self.flags[k] = v + else: + setattr(self, k, v) + + mbedToolchain.init = init_hook + # Toolchain instance try: toolchain = TOOLCHAIN_CLASSES[toolchain_name](target, options, notify, macros, silent, extra_verbose=extra_verbose)