mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #2341 from screamerbg/backported-fixes
[Tools] Build system improvementspull/2347/merge
commit
8891ed1cac
|
@ -64,19 +64,22 @@ class Target:
|
||||||
# List of targets that were added dynamically using "add_py_targets" (see below)
|
# List of targets that were added dynamically using "add_py_targets" (see below)
|
||||||
__py_targets = set()
|
__py_targets = set()
|
||||||
|
|
||||||
# Location of the 'targets.json' file
|
# Default location of the 'targets.json' file
|
||||||
__targets_json_location = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'hal', 'targets.json')
|
__targets_json_location_default = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'hal', 'targets.json')
|
||||||
|
|
||||||
|
# Current/new location of the 'targets.json' file
|
||||||
|
__targets_json_location = None
|
||||||
|
|
||||||
# Load the description of JSON target data
|
# Load the description of JSON target data
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@cached
|
@cached
|
||||||
def get_json_target_data():
|
def get_json_target_data():
|
||||||
return json_file_to_dict(Target.__targets_json_location)
|
return json_file_to_dict(Target.__targets_json_location or Target.__targets_json_location_default)
|
||||||
|
|
||||||
# Set the location of the targets.json file
|
# Set the location of the targets.json file
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def set_targets_json_location(location):
|
def set_targets_json_location(location=None):
|
||||||
Target.__targets_json_location = location
|
Target.__targets_json_location = location or Target.__targets_json_location_default
|
||||||
# Invalidate caches, since the location of the JSON file changed
|
# Invalidate caches, since the location of the JSON file changed
|
||||||
caches.clear()
|
caches.clear()
|
||||||
|
|
||||||
|
@ -410,7 +413,7 @@ def get_target_detect_codes():
|
||||||
return result
|
return result
|
||||||
|
|
||||||
# Sets the location of the JSON file that contains the targets
|
# Sets the location of the JSON file that contains the targets
|
||||||
def set_targets_json_location(location):
|
def set_targets_json_location(location=None):
|
||||||
# First instruct Target about the new location
|
# First instruct Target about the new location
|
||||||
Target.set_targets_json_location(location)
|
Target.set_targets_json_location(location)
|
||||||
# Then re-initialize TARGETS, TARGET_MAP and TARGET_NAMES
|
# Then re-initialize TARGETS, TARGET_MAP and TARGET_NAMES
|
||||||
|
|
|
@ -794,6 +794,9 @@ class mbedToolchain:
|
||||||
])
|
])
|
||||||
objects.append(result['object'])
|
objects.append(result['object'])
|
||||||
except ToolException, err:
|
except ToolException, err:
|
||||||
|
if p._taskqueue.queue:
|
||||||
|
p._taskqueue.queue.clear()
|
||||||
|
sleep(0.5)
|
||||||
p.terminate()
|
p.terminate()
|
||||||
p.join()
|
p.join()
|
||||||
raise ToolException(err)
|
raise ToolException(err)
|
||||||
|
|
Loading…
Reference in New Issue