It's a pity that even simple libraries need a 67-line Setup.hs to make the GHC build work. How about moving the --ghc-option and --configure-option flags into Cabal? --configure-option might be a better idea than the current behaviour of "setup configure" in defaultUserHooks, namely to pass through all unrecognized arguments.