scripts: updated gen_handles.py to take Zephyr base as argument
The script gen_handles.py was introduce in #32127 but relies on
ZEPHYR_BASE being set in environment.
However, it is not a requirement to set Zephyr base in the users
environment, therefore this is changed to an argument `-z` or
`--zephyr-base` which will be passed from the build system to the
script.
If `-z` or `--zephyr-base` is not provided, the environment will be
checked for a ZEPHYR_BASE setting there.
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
diff --git a/scripts/gen_handles.py b/scripts/gen_handles.py
index ad3395c..3e46c8d 100755
--- a/scripts/gen_handles.py
+++ b/scripts/gen_handles.py
@@ -41,9 +41,6 @@
if LooseVersion(elftools.__version__) < LooseVersion('0.24'):
sys.exit("pyelftools is out of date, need version 0.24 or later")
-ZEPHYR_BASE = os.getenv("ZEPHYR_BASE")
-sys.path.insert(0, os.path.join(ZEPHYR_BASE, "scripts/dts"))
-
scr = os.path.basename(sys.argv[0])
def debug(text):
@@ -65,10 +62,24 @@
parser.add_argument("-v", "--verbose", action="store_true",
help="Print extra debugging information")
+
+ parser.add_argument("-z", "--zephyr-base",
+ help="Path to current Zephyr base. If this argument \
+ is not provided the environment will be checked for \
+ the ZEPHYR_BASE environment variable.")
+
args = parser.parse_args()
if "VERBOSE" in os.environ:
args.verbose = 1
+ ZEPHYR_BASE = args.zephyr_base or os.getenv("ZEPHYR_BASE")
+
+ if ZEPHYR_BASE is None:
+ sys.exit("-z / --zephyr-base not provided. Please provide "
+ "--zephyr-base or set ZEPHYR_BASE in environment")
+
+ sys.path.insert(0, os.path.join(ZEPHYR_BASE, "scripts/dts"))
+
def symbol_data(elf, sym):
addr = sym.entry.st_value