toolchain.sh: extensive changes
libgcc may need binutils and GCC to be properly installed to
build correctly. To avoid problems, the —no-install option was
removed and the script reorganized so that system-wide installation
is still as convenient as possible.
Overall, the process occurs in several stages:
- binutils is built for all architectures
- all binutils are installed with help of sudo if needed
- gcc is built for all architectures
- all GCCs are installed with help of sudo if needed
- libgcc is built for all architectures
- GDB is built for all architectures (if enabled)
- all files are installed to target location
(with sudo if needed)
This process ensures that a system-wide install of all platforms
only asks for password three times in total, which is two more times
than ideal, but acceptable nonetheless.
Futher changes include:
- GDB build is optional and disabled by default
- non-HelenOS target build removed
- removed 'essential' option, since we want keep HelenOS riscv64
port buildable regardless of its current low functionality