Supporting multiple toolchain versions

We don't really have a good way to support multiple tools version right now. We need some proposal work to make this easier.