See #3406
-fgenerate-docs is replaced ith -femit-docs -fno-emit-bin is added to prevent outputting binary
that's all this commit does. further commits will fix cli flags and such. see #2221