summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorhathach <[email protected]>2023-01-17 23:37:00 +0700
committerhathach <[email protected]>2023-01-17 23:37:00 +0700
commitc86e628a4c199a39f8317a0d4b5dd96e9692e544 (patch)
tree6dc3003066de93a206c78fad46da8b6d3d00f9eb /tools
parent1891802f081e586ad5e992a4e498a069d28f529e (diff)
update build script to support iar with CC=iccarm option
Diffstat (limited to 'tools')
-rw-r--r--tools/build_board.py2
-rw-r--r--tools/build_family.py11
-rw-r--r--tools/build_utils.py6
3 files changed, 12 insertions, 7 deletions
diff --git a/tools/build_board.py b/tools/build_board.py
index 8d10ef820..4593dafa5 100644
--- a/tools/build_board.py
+++ b/tools/build_board.py
@@ -52,7 +52,7 @@ if __name__ == '__main__':
for example in all_examples:
print(build_separator)
with Pool(processes=os.cpu_count()) as pool:
- pool_args = list((map(lambda b, e=example: [e, b], all_boards)))
+ pool_args = list((map(lambda b, e=example, o='': [e, b, o], all_boards)))
result = pool.starmap(build_utils.build_example, pool_args)
# sum all element of same index (column sum)
result = list(map(sum, list(zip(*result))))
diff --git a/tools/build_family.py b/tools/build_family.py
index c6c64d2b3..cdc099691 100644
--- a/tools/build_family.py
+++ b/tools/build_family.py
@@ -11,6 +11,7 @@ SKIPPED = "\033[33mskipped\033[0m"
build_separator = '-' * 106
+make_iar_option = 'CC=iccarm'
def filter_with_input(mylist):
if len(sys.argv) > 1:
@@ -19,7 +20,7 @@ def filter_with_input(mylist):
mylist[:] = input_args
-def build_family(example, family):
+def build_family(example, family, make_option):
all_boards = []
for entry in os.scandir("hw/bsp/{}/boards".format(family)):
if entry.is_dir() and entry.name != 'pico_sdk':
@@ -28,13 +29,17 @@ def build_family(example, family):
all_boards.sort()
with Pool(processes=os.cpu_count()) as pool:
- pool_args = list((map(lambda b, e=example: [e, b], all_boards)))
+ pool_args = list((map(lambda b, e=example, o=make_option: [e, b, o], all_boards)))
result = pool.starmap(build_utils.build_example, pool_args)
# sum all element of same index (column sum)
return list(map(sum, list(zip(*result))))
if __name__ == '__main__':
+ # IAR CC
+ if make_iar_option not in sys.argv:
+ make_iar_option = ''
+
# If examples are not specified in arguments, build all
all_examples = []
for dir1 in os.scandir("examples"):
@@ -62,7 +67,7 @@ if __name__ == '__main__':
for example in all_examples:
print(build_separator)
for family in all_families:
- fret = build_family(example, family)
+ fret = build_family(example, family, make_iar_option)
total_result = list(map(lambda x, y: x + y, total_result, fret))
total_time = time.monotonic() - total_time
diff --git a/tools/build_utils.py b/tools/build_utils.py
index f457c7986..ad1daf8c7 100644
--- a/tools/build_utils.py
+++ b/tools/build_utils.py
@@ -77,7 +77,7 @@ def skip_example(example, board):
return False
-def build_example(example, board):
+def build_example(example, board, make_option):
start_time = time.monotonic()
flash_size = "-"
sram_size = "-"
@@ -91,14 +91,14 @@ def build_example(example, board):
ret[2] = 1
print(build_format.format(example, board, status, '-', flash_size, sram_size))
else:
- build_result = subprocess.run("make -j -C examples/{} BOARD={} all".format(example, board), shell=True,
+ build_result = subprocess.run("make -j -C examples/{} BOARD={} {} all".format(example, board, make_option), shell=True,
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
if build_result.returncode == 0:
status = SUCCEEDED
ret[0] = 1
(flash_size, sram_size) = build_size(example, board)
- subprocess.run("make -j -C examples/{} BOARD={} copy-artifact".format(example, board), shell=True,
+ subprocess.run("make -j -C examples/{} BOARD={} {} copy-artifact".format(example, board, make_option), shell=True,
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
else:
status = FAILED