WIP: Parallel builds
These changes run the
rom phases in parallel, producing a 2.4 times speed-up on a quad core system. They currently only work on the Linux Port of RISC OS, and not in the desktop which will result in sharing an AMB.
It relies on an external routine on WriteV to group output by component to make it readable.
My first attempt by just modifying
sb_system as suggested by comment was unreliable in various ways.
- Sort out the problem of the SharedCLibrary headers being export during the
export_libsphase and therefore potentially to late for building C libraries. I have created a
SharedRISC_OSLib_Headerspseudo-component to output the headers at the end of
export_hdrsphase, but there may be a better solution.
- Support plain Unix builds, mostly fixing
- Use a constant for
IXSupport_LinuxSyscall, or perhaps the HAL interface directly.
- Use the Linux system calls header, rather than it's private implementation of the Linux system call veneers.
- Parallelise the remaining phases.