An error occurred while loading the file. Please try again.
-
Chris Kay authored
This change fixes several breakages that were introduced in some build configurations by the introduction of the cot-dt2c tool. Some Python environments cannot be managed directly via `pip`, and invocations of `make`, including `make distclean`, would cause errors along the lines of: error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. This change has been resolved by ensuring that calls to the cot-dt2c tool from the build system happen exclusively through Poetry, which automatically sets up a virtual environment that *can* be modified. Some environments saw the following error when building platforms where the cot-dt2c tool was used: make: *** No rule to make target '<..>/debug/bl2_cot.c', needed by '<..>/debug/bl2/bl2_cot.o'. Stop. Additionally, environments with a more recent version of Python saw the following error: File "<...>/lib/python3.12/site-packages/cot_dt2c/cot_parser.py", line 637, in img_to_c if ifdef: ^^^^^ NameError: name 'ifdef' is not defined Both of these errors have now been resolved by modifications to the build system and the cot-dt2c tool to enable preprocessing of the device tree source file before it is processed by the tool. As a consequence of this change, the `pydevicetree` library is no longer vendored into the repository tree, and we instead pull it in via a dependency in Poetry. This change also resolves several MyPy warnings and errors related to missing type hints. Change-Id: I72b2d01caca3fcb789d3fe2549f318a9c92d77d1 Signed-off-by:
Chris Kay <chris.kay@arm.com>
73f7b7dd