Build system idea

| Yes this means that Cabal is less general than autoconf. It was quite a
| revelation when we discovered this during the design of Cabal - originally
| we were going to have everything done programmatically in the Setup.hs
| file, but then we realised that having the package configuration available
| *as data* gave us a lot more scope for automation, albeit at the expense of
| some generality.
Now there's a useful insight for the paper I hope Duncan (or someone) is going to write
configuration as code [autoconf]
vs
configuration as data [cabal]
Simon