The change fixes installing for RTEMS 3rd Party packages where the
RSB considered them Canadian Cross Compiling (Cxc). Fixing the
Cxc issue broke real Cxc builds. The change corrects the issue of
macros being changed in the Cxc and the prep data not being udpated.
The configuration is loaded again after the updated macros. The
macros are also copied and restored to ensure a clean stable base.
The change also introduces --rtems-tools and --rtems-bsp to align
the command line with the waf configure process or RTEMS application.
This change uses a python.org feature to make the paths uicode
which changes the WIN32 API used. The default WIN32 is limited
to file lengths of 256 characters.
Python's distutil's copy tree code maintains a cache of directories
created so deleting a tree a different way then coping the same
tree results in an error because the destination folders in the
tree are not present because distutils thinks they exist. The
solution is to implement a copy tree function.
Added a check in the options post processing to check is the
prefix path allows writes. No actual write check is made. just
the permissions are checked. If the --no-install options is
used the check is not made.
Moved the --no-install option from the set builder to the options
module.