[PATCH] build: Fix script action

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Jan 17 12:35:27 UTC 2024


We have to use a custom dictorary to be able to set the "value" argument
in the exec() context.
---
 wscript | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/wscript b/wscript
index a71e0d3f10..6c81083b2c 100755
--- a/wscript
+++ b/wscript
@@ -1026,8 +1026,14 @@ class OptionItem(Item):
         return value
 
     def _script(self, conf, cic, value, arg):
-        exec(arg)
-        return value
+        local_variables = {
+            "self": self,
+            "conf": conf,
+            "cic": cic,
+            "value": value
+        }
+        exec(arg, None, local_variables)
+        return local_variables["value"]
 
     def _test_state_benchmark(self, conf, name):
         self._do_append_test_cppflags(conf, name, "-DTEST_STATE_BENCHMARK=1")
-- 
2.35.3



More information about the devel mailing list