Use response files for all hadrian invocations of ghc
In future support for windows dynamic linking, we expect long command lines for linking dll files with ghc. Experiments with dynamic linking the ghc-internal library yielded a link command well over 32kb. We did not encounter this before for static libs, since we already use ar's @file
feature (if available, which it is for the llvm toolchain).
Previously we only used response files for ghc -M invocations. We now use it for all instances of the GHC Builder abstraction, covering compiling and linking as well (see data GhcMode). To do this, we avoid having the buildInputs also being included in the buildArgs. This way, the buildArgs are passed on the command line still, while the buildInputs (which is usually the component that gets very long) gets passed in a response file.