Something being autogenerated, or binary, doesn't mean it shouldn't be in version control. If step one of your instructions to build something from version control involve downloading a specific version of something else, then your VCS isn't doing it's job, and you're likely skirting around it to avoid limitations in the tool itself. People still use tools like P4 because they want versioned binary content that belongs in version control, or because they want to handle half a million files, and git chokes.
In my last org, we vendored our entire toolchain, including SDKs. The project setup instructions were:
- Install p4 - Sync, get coffee - Run build, get more coffee.
A disruptive thing like a compiler upgrade just works out of the box in this scenario.
It's a shame that the mantra of "do one thing well" devolves into "only support a few hundred text files on linux" with git.