From 9f75ad79c0df9035bcdfd11011ba475cc80ad50a Mon Sep 17 00:00:00 2001 From: xengineering Date: Sun, 6 Apr 2025 13:38:24 +0200 Subject: 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. --- fw/btl/configure.py | 30 ++++++++++++++++++++++++++++++ fw/btl/configure.sh | 14 -------------- fw/btl/meson.build | 2 +- 3 files changed, 31 insertions(+), 15 deletions(-) create mode 100755 fw/btl/configure.py delete mode 100755 fw/btl/configure.sh 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', -- cgit v1.2.3-70-g09d2