Passing a non-existent program for --with-hc-pkg used to say this: $ ./Setup configure --with-hc-pkg=foo Configuring QuickCheck-2.0... /bin/sh: foo: command not found Setup: executing external program failed: "foo" --global list >tmp23634 Now it is rather less useful: $ ./setup configure --with-hc-pkg=foo configure: Reading installed packages... zsh: 23596 exit 127 ./setup configure --with-hc-pkg=foo This patch restores the old behaviour, slightly improved: $ ./Setup --with-hc-pkg=foo configure configure: Reading installed packages... Setup: executing external program failed (exit 127) : foo --global list
so that they'll be included in source distributions of this package.
The removal fails on Windows if we don't, giving unhelpful errors like Setup.exe: .\tmp3660: removeFile: permission denied (Permission denied)
It used to turn into '', which just disappears. Now it turns into '\''.
- now the makefile can build the library too; so 'setup build' isn't required (unless there are post-build steps). This will be necessary for bootstrapping GHC from .hc files, where we'll be using Makefiles generated by 'setup makefile' to build the libraries. - the Makefile tempate is in a text file, processed into a .hs file by a small script (mkGHCMakefile.sh). This is run by hand for now, and I've included the generated module, so there shouldn't be any problems with building Cabal. - some cleanup and refactoring in Distribution.Simple.GHC