
On Tue, Nov 28, 2006 at 12:28:56AM +0000, Duncan Coutts wrote:
It's not clear to me that we need to have an extra field. I had originally envisaged that cabal-setup would just find the right compiler to build Setup.(l)hs and if there was none that it'd use defaultMain (possibly without needing to compile any setup binary).
If there was a Setup.[l]hs, it wouldn't be correct to use defaultMain, would it?
So do we really need a 'build-type:' field? Arn't there just two values for it, 'Simple' and 'Custom' (since all others are just different implementations of 'Custom')?
In that sense, there's only one value (Custom), but defaultMain is common, and a reasonable number of packages use main = defaultMainWithHooks defaultUserHooks I had a value for Distribution.Make.defaultMain too (but I don't know if anyone uses that).
Can't the Simple/Custom distinction be simply if the Setup.(l)hs is present or not?
If you have a field, cabal-setup can avoid compiling Setup.[l]hs in the common cases.