_check_arch_bsps presents inconsistent behavior
Summary
If a list of BSPs is provided during configure and not all of that list is actually installed at the target prefix directory, two different outcomes can occur depending on the set of BSPs.
- If all BSPs are of the same architecture and one of them is installed in the prefix directory, configuration succeeds.
- If the BSPs are of two or more architectures and any of the architectures does not have a valid BSP (even if others do), then configuration fails.
This is caused by the found
check in the first loop in _check_arch_bsps
in rtems.py.
Steps to reproduce
Install the aarch64/zynqmp_apu BSP in the prefix directory. Configure rtems-lwip (or any other project that uses rtems_waf) with aarch64/zynqmp_apu,aarch64/zynqmp_qemu. The configuration attempt will succeed even though the aarch64/zynqmp_qemu BSP is not installed.
Now, configure rtems-lwip with aarch64/zynqmp_apu,arm/zynqmp_rpu_split_0 without performing additional BSP installations. The configuration attempt will fail.
Pre-set options
Edited by Kinsey Moore