This is far from perfect but I think it's a good start. I don't have C++
working. This isn't quite the version I want for each piece. However,
I'd like to get this in since it does work. I'll iron it out a little
The gcc cross compile patch doesn't work for gcc 10+ btw. I might fix
that while ironing things out later.