summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2025-04-06 13:38:24 +0200
committerxengineering <me@xengineering.eu>2025-04-06 13:39:29 +0200
commit9f75ad79c0df9035bcdfd11011ba475cc80ad50a (patch)
tree47ec9c6a0367b4790f8cb4da08979159492f138e
parent28576b0bdb6b6e08b186c2919bbed4393b38bb7f (diff)
downloadiot-contact-9f75ad79c0df9035bcdfd11011ba475cc80ad50a.tar
iot-contact-9f75ad79c0df9035bcdfd11011ba475cc80ad50a.tar.zst
iot-contact-9f75ad79c0df9035bcdfd11011ba475cc80ad50a.zip
fw: btl: Configure with Python script
To use a more readable scripting language and keep portability the POSIX shell script for Zephyr configuration is replaced by Python.
-rwxr-xr-xfw/btl/configure.py30
-rwxr-xr-xfw/btl/configure.sh14
-rw-r--r--fw/btl/meson.build2
3 files changed, 31 insertions, 15 deletions
diff --git a/fw/btl/configure.py b/fw/btl/configure.py
new file mode 100755
index 0000000..a1f6e38
--- /dev/null
+++ b/fw/btl/configure.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python3
+
+
+import subprocess
+import sys
+
+
+source_tree = sys.argv[1]
+build_tree = sys.argv[2]
+board = sys.argv[3]
+zephyr_base = sys.argv[4]
+zephyr_modules = sys.argv[5]
+extra_conf_file = sys.argv[6]
+signing_key_file = sys.argv[7]
+
+
+subprocess.run(
+ [
+ "cmake",
+ f"-S{source_tree}",
+ f"-B{build_tree}",
+ f"-DBOARD={board}",
+ f"-DZEPHYR_BASE={zephyr_base}",
+ f"-DZEPHYR_MODULES={zephyr_modules}",
+ f"-DEXTRA_CONF_FILE={extra_conf_file}",
+ f"-DCONFIG_BOOT_SIGNATURE_KEY_FILE=\"{signing_key_file}\""
+ ],
+ shell=False,
+ check=True,
+)
diff --git a/fw/btl/configure.sh b/fw/btl/configure.sh
deleted file mode 100755
index 87df3d2..0000000
--- a/fw/btl/configure.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-
-set -eufx
-
-
-cmake \
- "-S$1" \
- "-B$2" \
- "-DBOARD=$3" \
- "-DZEPHYR_BASE=$4" \
- "-DZEPHYR_MODULES=${5}" \
- "-DEXTRA_CONF_FILE=${6}" \
- "-DCONFIG_BOOT_SIGNATURE_KEY_FILE=\"${7}\""
diff --git a/fw/btl/meson.build b/fw/btl/meson.build
index 08399a9..0b48c11 100644
--- a/fw/btl/meson.build
+++ b/fw/btl/meson.build
@@ -2,7 +2,7 @@ bootloader_config = meson.current_source_dir() / 'bootloader.conf'
external_project = import('unstable-external_project')
bootloader_bin = meson.current_build_dir() / 'zephyr' / 'zephyr.bin'
-bootloader_project = external_project.add_project('configure.sh',
+bootloader_project = external_project.add_project('configure.py',
configure_options: [
bootloader_firmware,
meson.current_build_dir() / 'build',